안전한 패스워드는 없는가?

이코노미스트지에 패스워드를 연구한 결과가 소개되어 있는데, 내용이 꽤 흥미로와서 소개한다.

이코노미스트 Speak, friend, and enter Mar 24th 2012
이코노미스트 A security patch for your brain Mar 24th 2012

이 세상에 100% 완벽한 보안은 없다. 심지어 갓 꺼진 컴퓨터 조차 수분간 DRAM에 정보가 남아 있기 때문에 콜드부트 공격을 당할 수 있다. 키보드에 흐르는 미약한 전류에서 나오는 전자기파를 감지한다든지, 키보드의 키를 누르는 소리를 도청하여 패스워드를 알아낼 수 있다. 여하간 보안과 편의의 절충만이 있을 뿐, 완벽한 보안은 없다.

개중 쉽게 보안성을 가질 수 있는 도구가 바로 패스워드인데, 하드웨어 없이 소프트웨어만으로 구성할 수 있으므로 편리하다. 패스워드는 과연 어떻게 만드는 것이 더 안전할까? 당연히 더 길고 복잡하고 유추하기 어려운 것이 바람직하다. 해커에 의해 3200만개의 패스워드가 유출된 소셜게임 사이트 RockYou의 패스워드를 분석한 결과 1.1%에 해당하는 365,000명의 사람들이 12345 또는 123456을 패스워드로 쓰고 있었다고 한다. 이정도면 해킹도 식은죽 먹기다. ㅎㅎ

야후의 협력을 얻어서 케임브리지 대학의 Joseph Bonneau라는 친구가 7천만개의 익명화된 패스워드를 분석했는데, 의외로 나이든 사람이 젊은 사람보다 복잡한 패스워드를 쓰는 경향이 있다고 한다. 예를 들어 인도네시아어를 쓰는 사람인데, 한국어나 독일어 단어로 패스워드를 쓰는 식이다. (정말 이런 사람이 있을까-_-) 좋은 패스워드는 기억하기 쉬우면서도 추측하기 어려운 것이다.

그렇지만 너무나 많은 사람이 사전에 등록된 단어를 기반으로 한 추측하기 쉬운 패스워드를 쓰고 있는 실정이다. 해커의 입장에서 사용자의 1%의 패스워드만 맞춰도 상당히 가치있는 성과가 된다고 한다. 일단 사전에 등재된 단어를 쓰는 것은 무조건 보안성이 낮다고 한다. 심지어 i 를 1로, e 를 3으로 바꾸는 식의 일부의 단어를 치환하는 트릭을 써도 보안성이 낮기는 마찬가지이다. 일전에 xkcd에서 패스워드에 관한 재미있는 그림이 올라왔는데, 이코노미스트지에도 링크가 되어 있다. 내용인 즉슨, 패스워드의 길이 제한을 없애면 기억하기 쉬우면서도 보안성을 높일 수 있다는 것이다. 그러나 케임브리지의 연구에 의하면, xkcd에서처럼 패스워드를 설정한다고 하더라도, 사람들은 여러 개의 단어를 선택하는 것조차 기억을 쉽게 하기 위해 연관된 단어구의 연속들 (예를 들어 dead poets society 와 같은 것들)을 선택하는 경향이 있다고 한다. 이것은 보안성을 크게 낮추는 요소가 된다. 실제로 아마존에서 이러한 패스구문(passphrase 여러개의 단어 조합이니까!)을 시도했는데, 물론 패스워드 보다는 보안성이 높았지만 생각만큼은 아니었다고 한다. Joseph Bonneau는 인터넷에서 각종 스포츠 문구, 회사 이름, 슬랭 등을 수집해서 때려맞추기를 한 결과 아마존 계정의 1.13%가 뚫리는 것을 확인했다고 한다. 사람들은 랜덤하게 고르는 단어보다는 진짜 언어로 된 조합을 선호하는 경향이 있는데, 두 단어로 된 구문의 경우 형용사-명사 조합의 패스구문을 쓰는 사람이 13%인 반면, 부사-동사 조합을 쓰는 사람은 5% 밖에 되지 않았다고 한다.

근본적인 해결책은 -물론이지만- 없다. 이코노미스트지에서 권장하는 패스워드는 일단 구글 검색에서 아무것도 안 나오는 조합이면서도 기억이 가능하도록 뭔가의 두문자 조합을 만드는 것이다. 이코노미스트지에서의 예시로는 Too much food and wine will make you sick을 줄여서 2mf&wwmUs 라는 패스워드를 만들면 된다. 이제 이 결합도 구글 검색에 걸릴테니 다른 걸 써야할 것이다 ㅋㅋㅋ 이런 방법이 완벽한 것은 아닐지라도 최소한 더 보안성을 높이는 길은 될 것이다.

DNA 컴퓨터

얼마전에 yong27님께서 블로그에 올린 멋진 포스트를 봤다.

3D 애니메이션으로 배우는 분자생물학 by yong27

각종 생화학적 작용을 3D 애니메이션화 한 것을 동영상으로 볼 수 있다. DNA를 복제하는 과정이 무척 기계적이라고 느껴지는데, 화학작용이라고 믿기 어려울 정도이다.

이러한 기계적인 기작이 화학적으로 가능하다면, 이러한 기작을 논리 게이트로 활용하여 컴퓨터를 만들 수 없을까 하는 생각도 들던 차에, 이코노미스트지에 DNA computing에 관한 기사가 올라와 있어 소개한다. 오오오오 이런 분야가 있다니!

이코노미스트 Computing with soup Mar 3rd 2012

알고리즘에 관심이 있다면 외판원 문제를 들어본 일이 있을 것이다. 대표적인 NP-hard 문제인데, Leonard Adleman 이라는 친구가 1994년에 DNA와 RNA를 이용한 논리 게이트를 조립하여 외판원 문제를 푸는 분자구조를 만든 모양이다. 우측 박스에 그 과정이 설명되어 있다. 오 대단하다.

기사를 보니 실제로는 계산속도가 그리 빠르지는 않은 듯 하다. 뭐 자세한 기작은 본인도 잘 모른다. 얼마전 사이언스 지에서 꽤 복잡한 회로를 구현한 논문이 게재된 모양이다. 기사를 읽어봐서는 어떤 연산을 하는 건지 잘 이해되지는 않는데, 여하간 회로의 크기는 1세제곱 미크론(백만분의 일미터)이고, 계산이 끝나는데 여덟 시간이 걸렸다고 한다.

대충 읽어보니 컴퓨터공학에서의 응용 뿐만 아니라, 의학에서의 응용도 염두에 두는 듯 하다. 특정한 세포를 찾아내어 사살하는 프로그램을 담은 컴퓨터를 이용해 암치료에 활용할 수 있는 듯 하다.

아직 양자 컴퓨터의 성공 여부가 불투명한 상태에서 그나마 구현 가능성이 있는 가장 작은 크기의 컴퓨터가 되지 않을까 싶다. 여하간 전기 없이 동작하는 세포크기의 컴퓨터가 실제로 등장한다면 컴퓨팅 환경의 혁신이 한 번 더 일어날 듯 싶다. 몸 속 컴퓨터라.. 오오 멋있는 걸 ㅋㅋ

Inkscape – 벡터그래픽 툴

latex 문서에 그림 넣을 때 단순한 그림일 경우, 비트맵보다는 벡터그래픽을 넣는 것이 보통인데, 검색해보면 사람들은 꽤 다양한 툴을 쓰고 있는 것 같다. 텍스트 명령줄을 입력해서 그림을 그리는 것도 있던데, 이런 건 명령어를 새로 배워야 하니 매우 번거롭다는 단점이 있다.

그래서 개인적으로는 어도비사의 일러스트레이터를 썼는데, 이게 꽤나 무거운 프로그램이고 더군다나 상용이라는 상당한 단점이 있다. 어둠의 경로(…)로 이용해왔긴 하지만 가급적 합법적인 이용을 원하기 때문에 그간 좀 검색을 해 봤다.

그리하여 오늘 Inkscape라는 프로그램을 알게 됐는데, 아직 버전 1이 안 나왔으니 완성품은 아니지만 이게 꽤 좋은 것 같다. 아직은 본인이 일러스트레이터 단축키나 인터페이스에 익숙한 나머지 좀 서툴긴 하지만, 이 프로그램이 가벼워서 꽤 마음에 든다. ㅎㅎ 결정적으로 무료 소프트웨어이다. http://inkscape.org/에서 받을 수 있다.

latex과 관련해서 재미있는 기능이 있다. 처음 Inkscape를 실행하면 A4 용지 크기의 바탕 사각형이 등장한다. 이 위에다 그림을 그리고, 텍스트로 달러기호 사이에 latex 코드를 넣는다.

벡터 그래픽을 그린 다음에 저장할 때 pdf 포맷으로 저장을 하면, PDF+LaTeX 옵션이 나온다. 이 체크박스를 체크해 주면 그래픽 내의 텍스트를 빼고 이미지만 pdf로 저장해주고, latex 파일을 생성해준다.

그래서 latex 문서 안에
\usepackage{graphicx}
\usepackage{color}

\input{파일이름.pdf_tex}
라고 넣어주면

위와 같이 그림위에 수식을 올려놓을 수가 있다. 뭐 사실 일전에 소개한 overpic.sty를 쓰면 되지만 이런 방법도 있다는 사실. ㅋㅋ

무어의 법칙이 지속될 수 있을까?

양자 터널링(quantum tunnelling)이라는 현상이 있다. 뭐 본인이 물리학에 조예가 있는 것은 아니지만 일단 아는대로 설명해보자면, 이 현상은 불확정성 원리(Uncertainty principle)라는 이론에 근거한다. 에너지 변화량과 시간의 변화량에 대한 오차의 곱이 어느 한도 이하로 낮아질 수 없으므로, 전자는 짧은 시간에 자신이 가지고 있지 않은 에너지 이상이 요구되는 장벽을 넘어 반대편으로 건너갈 수 있다. 이러한 현상을 양자 터널링이라고 부른다고 한다. 체력이 없어 산을 넘지 못하는 전자가 뿅! 하는 순간 터널을 지나 저쪽 산 너머에 나타나는 것이다. 도대체 어떻게?????? 진실로 양자역학을 이해하는 사람은 없다고 이야기한 파인만 선생의 말씀이 좀 위안이 된다. ㅎㅎㅎ

여하간 이 현상 때문에 트랜지스터의 집적도는 어느 한도 이상으로 높아질 수 없는데, 다들 잘 아시는 무어의 법칙을 계속 잇고자 하는 인텔의 고민은 여기에서 출발한다.

이코노미스트 Plugging the leaks Aug 20th 2011

지금까지는 이럭저럭 여차저차 무어의 법칙을 이어온 모양인데, 지금부터가 문제인 듯 하다. 배선을 너무 가까이 붙이면 전자가 양자 터널링으로 뿅! 하고 건너편으로 넘어가는 양이 너무 많아져서 집적도를 높일 수가 없는 것이다.

고전적인 논리 게이트는 두 군데서 입력을 받아서 출력을 내는 구조인데, 이걸 삼차원화해서 삼중으로 입력을 받는 게이트(Tri-Gate)를 인텔에서 연구하고 있는 모양이다. 정말 이렇게 해서 집적도가 올라갈까? 본인도 잘 모르겠다. ㅋ 그렇지만 아직도 컴퓨팅 파워가 모자람을 느끼는 판이라 그런지, 아직 무어의 법칙은 계속 되었으면 하는 개인적 소망이 있다. 양자 컴퓨터나 빨리 나왔으면 좋겠다. ㅎㅎ

[latex] 그림 위에 글자 및 수식 올려놓기

먼저 overpic.sty을 다운받아 깐다. os가 windows일 때는, 파일을 다른 .sty 파일이 있는 경로 넣어주고 도스창에 texhash라고 치면 된다.

올려놓을 글자의 위치를 상대위치로 하려면
\usepackage[percent]{overpic}
또는
\usepackage[permil]{overpic}

올려놓을 글자의 위치를 절대위치로 하려면
\usepackage[abs]{overpic}
\setlength\unitlength{1mm}

그다음 그림에서
\begin{overpic}{그림파일이름}
\put(x좌표,y좌표){넣을 글자나 수식이나 다른 그림}
\put(x좌표,y좌표){넣을 글자나 수식이나 다른 그림2}
\end{overpic}

좌표는 음수도 된다.

[latex] tabular 안에 enumerate쓰기

웃기게도 tabular 안에 enumerate가 안 된다. minipage를 넣어 아래와 같은 방법을 써야 한다.

\begin{tabular}{|l|}
\hline
\begin{minipage}{0.70\linewidth}
\begin{enumerate}
\item 어쩌구저쩌구
\item 두 번째 꺼
\end{enumerate}
\end{minipage}\\
\hline
\end{tabular}

여기서 표의 크기를 70%로 하기 위해 0.70\linewidth 를 썼는데, 절대크기로 하고 싶으면 0.70\linewidth 대신 5cm 이렇게 넣어주면 된다.

국내 악성코드 감염율(2010)

MS에서 발간하는 Security Intelligence Report에 따르면 한국의 악성코드 감염 컴퓨터 비율이 세계 1위라고 한다. 최근 급증하는 듯 하다.

이 보고서는 놀랍게도 한글판도 제공된다. 커허 죽이는구만. 아래쪽에 언어 선택에서 한국어를 선택하면 pdf 파일을 다운받을 수 있다.

위 그래프는 마이크로 소프트 악성코드 제거도구(MSRT)를 실행시켜 윈도우즈 운영체제 컴퓨터 10만대당 악성코드를 가진 컴퓨터 대수의 분기별 변화를 보여주는 그래프이다.


괜히 악성코드 걸려서 좀비피시 만들지 말고 컴퓨터 관리 좀 합시다. ㅎㅎ

레나 Lenna

1972년 11월자 플레이보이지에 실렸던 이 사진은 모든 디지털 이미지 프로세스 알고리즘에서 테스트용 이미지로 가장 광범위하게 쓰이는 사진이라고 한다. 사진의 누드 모델 Lena Söderberg는 1997년 Society for Imaging Science in Technology 50주년 기념 컨퍼런스에 게스트로 초대되기도 했다고 한다.

역사상 가장 유명한 누드 사진 by sharkman
당신은 레나(Lenna)에 대해 아시나요? by 오클라호마호
http://en.wikipedia.org/wiki/Lenna
Imaging Experts Meet Lenna in Person