메신저로 파일을 전송시 패킷을 캡쳐해서 그 안에 전송되는 파일이름을 알아내는 방법 좀 알려주세요 ㅠㅠ???

gtiger의 이미지

안녕하세요~

제가 지금 프로젝트를 하고 있는데 난관에 봉착했는데 좀 도와 주세요 ㅠㅠ

제가하고 있는 프로젝트는 파일을 전송할때 그 패킷을 캡쳐해서 그 정보를

가지고 탐지 프로그램에 활용할 프로그램을 만드는 것입니다.

제가 접근하고 있는 방향은

분명 파일 전송시 그 전송되는 파일 이름 정보가 전달이 되서

송신 하는 측에서 동일한 파일 이름이 만들어 지는 것 일거라고 생각합니다.

그렇다면!!!

그 전송되는 패킷을 캡쳐해서 그 내용을 분석하면 파일이름도 있을 거라고 생각을 합니다.

지금 패킷 캡쳐하고 있는 프로그램은 wireshark(ethreal이 지금은 바뀌었죠)입니다.(xp에서 돌리고 있고요)

하지만 data필드에도 file name에 대한 정보를 찾을 수가 없었습니다.

제가 접근하고 있는 방향이 맞는건가요??

아니면 다른 방향이 있는 건가요??

보안에 관한 리스크가 있는 답변이라면

메일로라도 보내주세요 ㅠㅠ

제 메일 주소는
jinyaki@naver.com
입니다.

꼭 좀 도와 주세요 ^^

익명 사용자의 이미지

영화를 넘 많이 보셨군요..

gtiger의 이미지

컴퓨터를 전공하고 있는 사람으로서 그런말은 별로 듣고 싶지 않네요 ^^;;

어려울 뿐이지 전혀 불가능한 일은 아니랍니다.

다만.

몇 년전 메신저 보안에 관한 문제가 사회적 issue가 된 이후로 그게 힘들어 졌을 뿐입니다.

keizie의 이미지

요즘 한창 나오고 있는 네이트온은 소스가 공개된 게 없던 것 같은데,

MSN이라면 이미 수많은 클론이 나와 있으니 코드를 살펴보시면 파일명이 어떻게 처리되는지 알 수 있지 않을까요? MSN 하나를 알면 다른 데서 어떻게 하는지도 추측할 수 있으리라 생각합니다.

sephiron의 이미지

분석할 프로토콜을 우선 결정하셔야죠. MSN이면 이미 프로토콜이 공개되어 있으니 간단하겠고요. nateon도 파일이름을 바꿔가면서 몇 번만 캡쳐하면 금방 알겠죠. 혹 암호화해서 전송한다면 낭패^^

gtiger의 이미지

nateon같은 경우는 암호화가 되어 있더군요 ㅜㅠ

3-DES나 AES등을 간단하게 복호화 할 수 있는 프로그램은 어떻게 구하는 것이 좋을까요???

OpenSource라서 구현하면 된다는 것은 알지만....

구현을 하고 있기엔 시간적 여유가.. ^^;;

그리고.

엠에센의 클론 같은 것은 어디서 구해야 할까요???

slc의 이미지

갑자기 대단하다는 생각이 들어서... ^^;;

"3-DES나 AES등을 간단하게 복호화 할 수 있는 프로그램은 어떻게 구하는 것이 좋을까요???"

잠시 갸우뚱했습니다.. ^^.. 이런 프로그램이 세상에 존재하는지 좀 가르쳐주세요..

몹시 궁금해서.. ^^ (비웃는 것 절대 아닙니다..)

지나가는 과객입니다요..

------------------------------------------------------------
개인 메일 서버를 만들어 사용합시다..
언제부터 e-메일이 포털의 전유물이 된거지??
home

익명 사용자의 이미지

새로운 수학을 창조하시려나 보군요 -.-
페르마가 적어놓은

"It is impossible to separate a cube into two cubes, or a fourth power into two fourth powers, or in general,
any power higher than the second into two like powers. I have discovered a truly marvellous proof of this,
which this margin is too narrow to contain."

만큼 황당한 것 같긴 합니다만,

AES deciphering 할 수 있으시면 답글 남기시면 Ron Rivest 와 연결시켜 드리겠습니다. -.- 얼마전에 환갑잔치
하셨지만 눈이 번쩍 뜨이실 것 같군요. -.-

frenzy의 이미지

수학적으로 불가능하다라는 수치가 나올 것 같은데요!!!!

+
++++++++++++++++++++++++++++++++++++++++++++++
혼자놀기의 도사가 되리라... http://geeklife.co.kr

.
++++++++++++++++++++++++++++++++++++++++++++++
혼자놀기의 도사가 되리라... http://geeklife.co.kr

onion의 이미지

3DES나 AES.... openssl에 있지 않던가요?...
(없으려나...-.-)
아마도 key가 없으면 복호화가 안될건데요...
어차피 알고리즘만 가지고 달랑 복호화가 되면 그건 MD5죠..-.-;
msn clone은 freshmeat만 가도 많습니다요..-.-;
pidgin에 들어있는 Libpurple을 보시는것도 도움이 되실지 모르겠군요.

-----새벽녘의 흡혈양파-----

-----새벽녘의 흡혈양파-----

madkoala의 이미지

Quote:
어차피 알고리즘만 가지고 달랑 복호화가 되면 그건 MD5죠..-.-;

MD5는 단방향 해쉬 알고리즘입니다.
알고리즘만 가지고 복호화가 된다는 건 무슨 말씀인지 잘 모르겠군요.
MD5 값을 가지고 원래 데이터를 복구하는 것은 불가능합니다.

kalstein의 이미지

암호화된 과정을 안다고 해도...알아내기 어렵습니다.

특히 MSN의 경우에는...암호화가 상당히 철저하다고 하던데요 ^^;
완전 open source화 되어서...private key를 뭘 사용하고 있는지 직접 알아낼 수 있다면 모를까 그게 아니고 남의 컴퓨터의 전송내역을 알기란... 불가능에 가깝다고 보여집니다.

원래 암호화란것이...소스가 공개되어도 풀수가 없는거라서요 ^^


------------------------------------------
Let`s Smart Move!!
http://kalstein.tistory.com/

danskesb의 이미지

오픈소스화와 개인키를 알아내는 문제는 별개입니다. 완전 오픈소스인 GnuPG도 개인 키가 없으면 다른 사람 파일을 절대로 읽을 수 없습니다.
---- 절취선 ----
http://blog.peremen.name

익명 사용자의 이미지

If the message is encrypted, then it will use SSL protocol.

churack_angel의 이미지


위에분 말 처럼 우선 분석하실 데이터의 프로토콜들을 정의하셔야 할 듯 싶습니다.
그런후 그 안에서 파일 네임 필드를 찾는게 우선일듯 싶네요...

또한 만약에 NateOn과 같이 암호화가 되어있다면..
중간에서 가로채서 분석하기란 불가능 합니다.
물론 말도 안되는 쉬운 알고리즘을 사용했다면 모르겠지만...
3-DES, AES와 같은 경우에는 키 값을 모른채 중간에서 패킷을 덤프해서
복호화 시킬 경우....
파일 전송이 다 끝난 후에도 아마 복호화만 수행하고 있겠네요...
거의 실시간으로 복호화해야 하는 입장에서는..
불가능 하다고 말 할 수 있습니다.

우선 분석할 몇가지 공개될 프로토콜을 정하고...
그걸 먼저 하는게 좋을 듯 싶습니다.

----------------------------------
- By Fallen - :)
http://blog.lunatine.net/churack

------------------------------------------------------
조금씩 한발자국씩... 서두르지 않고 천천히... 그렇게...
- By Fallen - :)
http://churack.tistory.com

gtiger의 이미지

쉬운 복호화라는 말도 안되는 말을 써버리고 말았군요 ^^

그런게 있었으면 암호화라는 것 자체가 무의미 할텐데 말입니다 ㅠㅠ

익명 사용자의 이미지

디버깅 툴을 사용하여 소켓을 recv에 브포를 걸고
차례 차례 따라가다 보면 암호화 해제 부분 에서 키 값을 유출해 낼수도 있을 수
있지 않을가요?? (물론, 쉬운 작업 아닙니다...말로는 만리장성도 하룻밤에 다 쌓을수있죠^^)

메신저 각각의 윈도우 핸들 메세지를 캡쳐 해 보는 방법도 있지 않을까요??
(물론, 기대할 부분은 아니지만.. 어느정도 단서가 나오지 않을까 해서^^)

윈도우 전역의 CreateFile 을 감시 합니다.
현재 write되고 있는 파일을 찾을수도 있군요...음..

영화와 같은 소리는 아닙니다.. 충분히 가능하죠~

길은 열려 있습니다. 길을 찾아 가는것만 모를뿐이 아닐까 전 생각합니다^^

gtiger의 이미지

좋은 생각이네요~

하지만 문제는 패킷을 가지고만 해야 하는 것이라서~ ^^

백본에 설치할 프로그램을 만들고 있는 거라서요 ^^

angpang27의 이미지

개발하러 증권사들 돌아다니다 보면 내부 자료 유출 방지때문에
파일명 뿐만이 아니라 파일자체를 완전히 복호시키는 모니터링 툴 굉장히 많아요.
NATEON,MSN,또 외국꺼 메신저등등 웹메일도 모두 모니터링하더군요.
증권사 보안담당 말로는 구조조정할때 웹 메일통해 이력서가 몇번 나가는지도 반영한다더군요.

대부분 방식이 L4단에서 미러링받아서 패킷분석을 하더군요.
미러링받은 패킷을 "Wincap"이였던가 그 툴을 통해서 실시간으로 수집해서 DB에 차곡차곡
쌓아 놓던데요.

일단 백본에서 미러링 떠서 Wincap한번 사용해보세요
혹시 암호화되서 프로토콜 분석이 안되신다면,
주의 사람 통해서 제가 다시 댓글을 달아드릴께요.

전 그런 솔루션 너무 마니봐서 완전 쉬운건줄 알았는데..
여기 댓글보니 심상치 않네용 ^^

아참, 근데 백본에 설치를 하신다고 했나요? L7장비인가요??
백본성능에 과부화가 엄청 걸릴텐데요..

고통이 지천에 있다한들 어이해 멈출수있더냐

gtiger의 이미지

그렇죠.

제가 생각하고 있는 프로그램이 바로 그런 것니다.

유출을 막기 위한 프로그램을 구현 중인것이지요.. ^^

L7장비요???

그런건 모르겠는데요 ^^;;

단지 연결 시키려는 백본이 fedora6를 OS로 사용한다는 것 밖에는.....

장비는 잘 모르겠네요.^^

현재 snmp를 이용해서 트래픽량 분석하는 프로그램이 구현되어 있고 거기에 덧붙이려고 하는 것이라서...

물론 트래픽 분석은 이미 구현되어 있던 거라서 제가 그 내용은 잘 모르고요.

물론 과부하도 생각을 했죠.

그 백본을 통하는 서버에서 패킷을 캡쳐해서 그 내용을 분석하고 그 내용을 따로 디비를 구성해서

디비에 소스주소, 목적주소, 메신져이름, 시간, 그리고 파일 정보 이렇게 넣을 겁니다.

그리고 과부하를 생각해서 디비에 input만 해놓고 output은 일정 기준(대략 10분 or 버퍼 크기)마다 출력을 하게 할 것이죠.

실시간으로 저 다섯가지 정보만 디비에 넣는 것이라면 그렇게 큰 과부하는 걸리지 않을 것입니다.
(아직 구현이 되지 않아서... 일단 그렇게 하면 되리라 생각하고 있는 것 뿐이지만요 ^^;;)

현재는 패킷의 data 영역을 어떻게 참조하고 그 곳의 값을 빼내 오는 가에 대한 문제가 생겼습니다.

msn, taki, touch, nateon. 이렇게 메신저의 특징 분석과 파일 정보의 위치를 알아 냈는데...

data영역에 접근하는 방법을 몰라서 구현을 못하고 있습니다 ^^;;

도와 주세요 ^^

angpang27의 이미지

일단 외국업체들 대부분은 메신저를 암호화를 안하다더군요..
국내 업체도 초창기엔 암호화를 안했었는데, 보안때문에 대부분 활성화 시켜놨구요.

같은 SK계열사측에서 위와같은 것을 구현하는 프로젝트가 있었는데
네이트온 프로토콜 디코딩 하는 방법을 오픈을 안해줘서 프로젝이 데이터영역은 빠졌다는군요.

그리고 암호화된 프로토콜을 디코딩하는 자체가 불법이라고 하더군요.
또한 불법으로 디코딩을 하여도 프로토콜이 너무 자주 바뀌어서 사실상 너무 힘든 구현이 된다고 하네요.

시기가 조금 빨랐다면 쉽게 구현될 부분인데, 지금은 현실적으로 너무 힘들데요..

답변 늦어서 죄송합니다. 그럼 도움이 되셧기를 ...

고통이 지천에 있다한들 어이해 멈출수있더냐

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.