Blog | Tag | Local | Media | Guest | Login  RSS
개발자로의 생각에 해당되는 글 86건
제가 회사 들어간 시기가 묘하게 이런 것에 대해 고민해볼 수 있는 시기인듯 합니다.
요새 관련 회의를 일부 참석하고 있는데, 맡고 있는 서비스명과 다르게 뭔가 군더더기가 너무 많다는
느낌을 들게 만듭니다.

도데체 왜 이런 기능이 필요하지? 왜 넣어야 하는거지? 얼마나 CS 에서 많이 들어왔길래
이런걸 넣었던 건지... 뭐 이런걸 알 수가 없습니다.
제품명과 다르게 자동적으로 괴물로 만들어나가는 느낌입니다.
하지만 다행히 그걸 어느 정도 정리할 수 있는 시점이라는 점은 다행이긴 합니다.

제가 생각하기에 어떤 솔루션이든 핵심되는 기능이 있고, 그것과 관련하여서만 기능을 추가해야
한다고 봅니다. 만약 제품의 방향과 다른 것이 요구된다고 한다면? 그럼 현재의 기능을
최대한 컴포넌트화하고 그 다른 방향의 새로운 솔루션에 맞춰서 플러그인화 시키는 것이
휠씬 맞는 정책이라고 봅니다. 그렇지 않으면 제품의 성격 자체가 애매모호해질테고, 사용자들도
그렇게 생각할 테니까요.

네이트온 정도가 그걸 잘해놨다고 생각합니다. 물론 네이트온 개발팀이 첨부터 그걸 의도했다고는
보이지는 않고, 메신저라는 플랫폼자체가 그걸 이끈거 같긴 하지만 말입니다.

하여튼 이제는 어느 정도의 포지셔닝을 잡아야 할 시기인것 같습니다. 글고보니 최근에 초난감 기업의 조건
이라는 책을 보았습니다. 주목할만한 실수들이 제품의 포지셔닝 문제였습니다. 우선 포지셔닝을
잘 잡아야만..무슨 기능을 넣을지 어떤 식으로 끌고 나갈런지 보이니까요. 저도 미약하지만
이런 포지셔닝에 대한 문제를 잘 얘기해봐야 겠다는 생각이 계속 드네요.
이올린에 북마크하기(0) 이올린에 추천하기(0)

 태그 : 
이 글의 관련글(Trackback) 주소 :: http://snaiper.tistory.com/trackback/267
Name
Password
Homepage
비밀글 (Secret)

사이냅의 문제도 기한도 끝났길래...제가 푼 소스 공개합니다. 뭐 별거 없습니다.
참고로 마지막 소스는 없습니다. 느긋하게 생각했다가 끝났길래...맥이 탁 풀려서 말입니다 ㅠ.ㅠ
그냥 이렇게 풀었봤다 정도만 생각하시면 되고...별 대단한 소스도 아닙니다.
그리고 1번은 Ruby로 2번부터는 python 으로 해봤습니다.

1번 문제...
http://synap.tistory.com/entry/문제를-푸시면-기념품을
-드립니다

답 URL : "http://205486422643.synap.co.kr/"

2번 문제부터 Constraint Programming 이라서 python 라이브러리를 사용해봤습니다.
문제 : http://205486422643.synap.co.kr
사용한 library : http://labix.org/python-constraint


답 URL:
"http://205486422643.synap.co.kr/1211209.syn"

3번 문제 또한 비슷한 문제입니다. 조금 더 까다로워 졌을 뿐입니다. 여러 데이터를 판단해야 되기 때문에 속도 상승 차원에서 psyco를 사용해봤습니다만...글쎄요. 잘 모르겠더라는...
첨에는 constaint를 너무 작게 줘서 하나에 1분까지 걸릴 때가 있었는데, 그거 깨닫고 몇 개 추가하니까 비교적 참을 만한 속도가 나오더군요.



답은 average, badform 입니다.

4번은 위에서 얘기했듯이 ...안 풀었습니다. 맥이 다 풀리고 만회가 되면...다시 풀지도 모르겠네요.

ps. 1번 문제의 경우, 코딩으로 안하더라도, 또는 계산안해도 풀 수 있습니다.(from KLDP)
다음과 같이 하면 풀 수(?) 있습니다. 사실 푼게 아닐지도...저는 이런 식으로 하는 거 이번에 처음 알았습니다.

먼저 cmd 쳐서 콘솔창 엽니다. 그런 다음...다음의 명령어를 차례로 치면 됩니다.

nslookup
server www.synap.co.kr
ls -a synap.co.kr
이러면 중간에 뭔가 보이실 겁니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)

 태그 : 
이 글의 관련글(Trackback) 주소 :: http://snaiper.tistory.com/trackback/254
ㄹㄹㄹ| 2007/09/19 20:02 | PERMALINK | EDIT/DEL | REPLY
사실 3번문제 같은 경우는 중복된 문자와 새로운 문자의 위치 관계를 하나의 키로 해서 이 값만 저장하고 있으면
7글자 짜리 사전파일이 아무리 길어도 앞부분 조금 돌리다 보면 답이 순식간에 튀어 나오지요 ^^
이렇게 푸신 분이 계실 지 모르겠네요. 하지만 이렇게 푸는 건 마지막 문제 푸는 데 전혀 도움이 안되는 단점이 있지요
BlogIcon snaiper | 2007/09/19 20:16 | PERMALINK | EDIT/DEL
그런 방법도 있군요. 조금만 더 자세히 알려주실수 있으신가요? 설명이 너무 짧아서 이해가 ㅎㅎㅎ
저야 너무 정석대로 푼 감이 있어서 ^^:
여튼 새로운 방식이나 알고리즘이 자꾸 자꾸 나오면 재밌어지겠군요,
BlogIcon TohnoLyn| 2007/09/20 13:45 | PERMALINK | EDIT/DEL | REPLY
역시... 스크립트 코드는 간략하네요 ㅎㅎ
BlogIcon snaiper | 2007/09/21 01:01 | PERMALINK | EDIT/DEL
ㅋㅋㅋ 네 ^^
나그네| 2007/10/24 17:26 | PERMALINK | EDIT/DEL | REPLY
티스로티에 소스코드 위에처럼 어떻게 입력하는 건가요??

궁금하네요^^;
BlogIcon snaiper | 2007/10/25 21:57 | PERMALINK | EDIT/DEL
저건 TEXTAREA 에 코드 집어넣고
Syntax Highliter 라이브러리로
처리한겁니다.
Name
Password
Homepage
비밀글 (Secret)

웹서핑하다 상당히 공감이 가는 문서나 철학이 있는 글을 건지게 되면, 그날 하루는 횡재한 듯한 느낌을 받게 됩니다. 오늘도 역시나 횡재의 날일 것 같습니다.

류광 님의 글인데, 류광님은 번역자로서의 능력은 알고 있었습니다만 이런 종류의 능력까지 가지고 계신지는 몰랐군요. 읽어보니 상당히 공감이 갑니다. 날짜를 보니 제가 상당히 뒷북을 치는 것이 아닌가 하는 생각인데, 몰랐던 분들을 위해...ㅎㅎㅎ

프로그래밍과 영어(1)
http://www.gpgstudy.com/forum/viewtopic.php?t=566

프로그래밍과 영어(2)
http://www.gpgstudy.com/forum/viewtopic.php?t=627

프로그래밍과 영어(3)
http://www.gpgstudy.com/forum/viewtopic.php?t=860

초반에의 이슈 제거 부분에서 RSpec의 describe 등의 용어의 번역에 대한 이슈가 떠오르네요. 아무래도 고급으로 갈 수록 영어에 가까워지는 건 어쩔 수 없군요. Ruby도 일본인이 만들었지만, 코드를 보면 영어로 읽히는게 더 자연스러운 것을 볼 때, 아무래도 패러다임 자체의 영향도 있지 않나 하는 생각도 들기도 하고, 완전히 새로운 생각을 가진 사람이 언어를 만들어야 하는 것이 아닌가 하는 생각도 들긴 하네요.

그리고 영문법과 코드와의 연관에 대한 논리는 상당히 공감이 가는군요. 특히나 관사 a, the와의 연결은 아주 단순한 생각으로도 변수 명명법에 상당히 도움 될 것 같다는 생각입니다. 이런 명명에 대해서는 3번에서도 나오는데 그동안 어렴풋이 하고 있던 변수 이름 정하는데에 상당히 도움될 것 같다는 생각이네요.

시간 나시면 한번 읽어보시길...생각 정리하기에는 유용한 문서입니다.

이올린에 북마크하기(0) 이올린에 추천하기(0)

 태그 : 
이 글의 관련글(Trackback) 주소 :: http://snaiper.tistory.com/trackback/257
BlogIcon jolinhama| 2007/09/19 08:32 | PERMALINK | EDIT/DEL | REPLY
좋은 글입니다. 덕분에 저도 횡재한 느낌이네요.!!
BlogIcon snaiper | 2007/09/19 09:49 | PERMALINK | EDIT/DEL
^^ 네 그렇죠?
BlogIcon seansong| 2007/12/02 10:35 | PERMALINK | EDIT/DEL | REPLY
번역가로서 나름대로 의미있는 시도이긴한데 실제 영어권 프로그래밍 프랙티스하고는 별로 상관없는 내용이 많아보이는 강좌이군요.
일반 기술관련 코드들은 그냥 오픈 소스 코드들 읽다보면 적당한 단어가 몸에 익게 되구요.
비즈니스 관련 단어는 수출할 코드가 아니라면 콩글리시를 쓰는것보다는 한글이나 한글 발음나는대로 써주는게 오히려 유지보수하기 쉬울겁니다.
예를 들어 강좌에 나오는 미지급은 Payable이라고하지 Owing이라고 하지 않거든요.
한글 변수가 되면 그냥 미지급이라고 하던지, 안되면 Mijigup이라고 하는게 의사소통이나 유지보수하기 쉬울것 같군요.
do, process, execute중 어느것이 적절한가 이런건 별 의미없는 고민이구요.
BlogIcon snaiper | 2007/12/02 21:52 | PERMALINK | EDIT/DEL
그렇군요..그래도 제 생각에는 나름대로
정리하려는 의미있는 시도에서 큰 의미를
부여하고 싶습니다.
글고 한글 발음대로 쓰는 것도 유지보수에는
좋겠지만...글쎄요. 그래도 제대로 적어주는게
좋지않을까 하는 생각이 있네요
Name
Password
Homepage
비밀글 (Secret)

매우 아끼는 학교 후배이자, 개인적으로 존경해마지 않는 신영진 님이 괜찮은 글을 또 하나 썼더군요
(왜 항상 이런 좋은 글을 쓰냐...같은 블로거 입장에서 부끄럽다 ㅠ.ㅠ)

이에 대한 글은 개발자의 시간을 갉아먹는 함정들 을 확인하시면 됩니다.(이 글을 읽으시려면
읽고 오시는게 좋을 겁니다 ^^:)
여기서 3가지 함정에 대한 얘기가 나오는데, 공감이 가는 구석도...이건....생각이 조금
다르다는 생각도 들기도 하더군요

먼저 첫번째, 설계의 함정에 대해... 그렇습니다. 실제로 개발하다보면, 설계라는 것이 그렇게
흘러갈 수 밖에 없습니다. 그래서 설계는 많은 삽질을 경험한 아키텍트들이 맡는 것이겠지요.
신영진 님의 성급한 설계 라는 용어 선택도 이를 반영하는 것이겠지요.

최근에 TDD, BDD 를 보면서 신입 개발자들이 관심을 가져야 할 것은 오히려 이것이 아닌가 하는
생각을 합니다. 설계 능력이 조금 부족하다면, 오히려 이런 방법들이 설계 능력이 키우는 데에
효과적이 아닐까요?

최근 Ruby 4차 세미나에 갔을 때, 강규영님의 말씀 중에 하나가 생각이 납니다.
정확한 말은 기억이 안납니다만, 대략 요지는...

컴파일이 느린 예전에는 견고한 설계와 그에 대한 테크닉과 원칙, 방법들이 많이 중요했었다.
하지만 요즘처럼 컴파일이 빠른 때에는 오히려 그것은 Legacy 가 되어가고 있다. 그래서 새로운 개발 방법을 관심을 가져야 하는 것이 아닌가....

였습니다. 저도 이 말에는 무척 공감합니다. 물론 학교에서 가르치는 그러한 설계, 설계에 쓰이는 DFD나 UML이나 산출물들이 중요하지 않은 것도 아니고, 결코 필요없다는 것도 아닙니다. 하지만 실제 개발이라는 것은 그림 그리듯이 개발하는 것이고 개발자들에게 필요한 것은 이런 새로운 Agile 적인 방법들입니다.
 
특히나 신입 개발자들이 관심을 가져하는 것일 뿐이죠. 하지만 실제로 컴공을 졸업한 개발자들은 새로운 방법에 대한 아무런 관심이 없다가(학교에서 하는 것도 버거웠다가...정답이겠지요.), 회사에 와서는 생소한 기술들을 습득하기 바쁩니다. 이런 방법들에 대해 생각해보는 자체가 힘들다는 생각은 합니다만..이 글을 보는 신입 개발자들이라면 이런 개발 방법론에 대한 적용을 고려해보는 것도 좋은 방법이라는 생각을 합니다.

그리고 두번째 재사용... 재사용의 레벨에 대한 강조가 없었다는 것이...강의의 단점이 될 수도 있을 겁니다.
영진님의 말에 공감하는데, 여기에 하나 더 붙이고 싶군요. 제 글김창준님의 글 이 도움이 좀 될 수 있지 않을까 싶습니다.

마지막으로 세번째, 호환성. 이것에 대해서는 어떤 면에서는 동감이 가고, 어떤 면에서는 아니다. 이것에 대한 저의 생각은 회사마다 다르다가 정답입니다. 제가 다녔던 회사는 멀티 플랫폼 회사였습니다. 처음에는 A라는 OS와 B라는 컴파일러에서 개발되었습니다만...시간이 흘러 흘러 다른 플랫폼, 다른 컴파일러에서 올릴 필요가 여러 차례 생깁니다. 저도 처음에는 절대 없을 것이라 생각하고 호환성을 생각하지 않고 개발했었습니다만...그 함정에 빠져 나중에 무지 고생한 적이 있었습니다. 외교부 프로젝트 였는데, 결론적으로, 삽질 만땅이었습니다 ㅠ.ㅠ
메모리 할당, 라이브러리의 dynamic loading의 이상 동작 ...stack 의 크기 제약 등...정말 여러가지가 괴롭혔지요.

 여튼 그래서 영진님의 말에 한가지 덧붙이고 싶습니다. 회사가 한 플랫폼과 한 컴파일러를 사용하고, 바뀔 필요가 없겠다 싶으면, 호환성에 대한 것을 나중을 위해라고 생각하셔도 무리가 없습니다. 하지만 회사가 멀티 플랫폼에 대한 고려가 있겠다 싶으면 신입이라 하더라도 충분히 고민을 하고, 회사 내의 선배 개발자와 충분히 논의를 할 것을 권해드립니다.

이올린에 북마크하기(0) 이올린에 추천하기(0)

 태그 : 
이 글의 관련글(Trackback) 주소 :: http://snaiper.tistory.com/trackback/256
BlogIcon kkamagui| 2007/09/13 14:01 | PERMALINK | EDIT/DEL | REPLY
좋은 글 잘읽고 갑니다. ^^

꽤나 공감이 가는 내용이네요 ^^
BlogIcon snaiper | 2007/09/13 21:55 | PERMALINK | EDIT/DEL
공감감사합니다 ^^:
Name
Password
Homepage
비밀글 (Secret)

이거 심심할 때 쯤 되면 이런 문제가 하나씩 떡떡 나타나네요.
덕분에 버닝 중...

문제는 http://synap.tistory.com/entry/문제를-푸시면-기념품을-드립니다
여기에 있고

피보나치 수에 대한 문제입니다. 피보나치 수는 아래와 같이 정의됩니다.
f(1) = 1
f(2) = 2
f(3) = f(1) + f(2) = 1 + 2 = 3
f(4) = f(2) + f(3) = 2 + 3 = 5
f(5) = f(3) + f(4) = 3 + 5 = 8
...
f(n) = f(n-2) + f(n-1), n>=3

a와 b라는 두수가 주어져 있을때 두수사이에는 몇개의 피보나치 수가 있을까요?
예를 들어 10과 100 사이에는 총 5개(13, 21, 34, 55, 89)의 피보나치 수가 있습니다.

12345678999과 99987654321 사이에도 몇개의 피보나치 수가 있습니다.
이 구간내의 모든 피보나치수를 더한 값이 기념품을 받을 수 있는 열쇠입니다.


정답을 아시면 아래 URL로 접속하세요.

http://{정답}.synap.co.kr

이런 내용입니다. 딱 보니 구글 스타일입니다. 초기 구글 리쿠르팅을 따라해보겠다는...?
여튼 문제가 재미있어서 푸는 중입니다. 현재 저거 풀고, 그 다음거 풀고, 세번째 것에 와 있습니다.
두번째는 조금 더 고생 많이 한다는 ㅠ.ㅠ

그나저나 이 문제에... 구간별로 피보나치 수의 갯수가 일정하다는게 재밌군요.
수의 재미가 좀 있습니다 ^^ 뭐 문제푸는데는 그다지... 도움이 안됩니다. ^^: Just for Fun
게다가 피보나치이니까...재귀로 했다가 좌절하고...급 반전해서 완전히 다른 방향으로 풀었습니다.
저도 이런 방법이 있는 줄은 오늘 첨 알았다는...

현재 첨 문제는 Ruby로 풀었는데 적당히 공백 좀 넣어서 20줄 내로 나왔고, 두번째는 python 으로 풀어서 20줄 정도 나왔습니다. 첨에는 ruby 로 도전했다가 속도 문제로 좌절...python으로 하니 좀 낫군요.

저기서 정답 공개하지 말아달라고 해서 저도 공개안했습니다. 요청 시에 소스 공개는 할 수 있지만...
보시면...허접 소스라는 ㅋㅋㅋ ㅎㅎㅎ ^^:

ps. 3번째 통과, 이제 4번쨰군요. 마지막...
ps2. 일반화...좌절이라는...머리가 안 따라주는건지...이제까지 했던 자체가 원래 일반화가 안되는 로직인건지...
       머리만 아프다는...걍 새로 짤까...ㅠ.ㅠ
이올린에 북마크하기(0) 이올린에 추천하기(0)

 태그 : 
이 글의 관련글(Trackback) 주소 :: http://snaiper.tistory.com/trackback/255
Tracked from 괴짜 프로그래머의 일상사~@@ | 2007/09/10 11:54 | DEL
기탁님 블로그에 오늘 재미난 내용이 올라왔더군요. 다름 아닌 사이냅소프트에서 개발자들을 상대로 하는 이벤트 였습니다. 그런데 기념품이 먼지를 모르겠습니다. 마지막까지 가르쳐주지 않더군요. 갈수록 코딩을 더 마니 요구하는 문제들이 나옵니다. 사실 2,3,4단계는 전부 같은 문제입니다. 문제 푸는 분들의 삽질 시간을 덜어 드리기 위해서 간단한 소개와 힌트만 담아보았습니다.일 단계: 피보나치피보나치 수열에 관한 문제입니다.문제는 여기서 보실 수 있습니다...
ㄹㄹㄹ| 2007/09/10 02:28 | PERMALINK | EDIT/DEL | REPLY
이건 뭐 그냥 수학 문제군요
점화식만 구하면 해가 바로 튀어나오는..
BlogIcon snaiper | 2007/09/10 12:38 | PERMALINK | EDIT/DEL
네 수학 문제죠...단...해는 나오는데, 손으로 더하기는 난감하다는 ^^:
object| 2007/09/10 11:48 | PERMALINK | EDIT/DEL | REPLY
아.. 이거 코딩해서 푸는건가요? 난 또 손으로 풀어야하는 건 줄 알고 당황해했네요.. 재귀로 하면 좀 애로사항이 꽃필 것 같고.. memoization 같은 기법이 좋을 것 같습니다.

구간별로 (3자리수, 4자리수 이런 거 말씀하시는거죠?) 일정한 것은 피보나치 수열의 일반항이 {a^n - (1-a)^n}/sqrt(5) 꼴인데요. a는 여기서 x^2-x-1=0의 근이구요. 그런데 n이 좀 커지면 (1-a)^n이 작은 수가 되어서 무시해버리고 양변에 log10을 취하면 대략.. 피보나치 수의 자리수 = n*(1보다 작은수) 정도 관계식이 얻어지기 때문에 그런 결과가 나오는 것으로 설명할 수 있습니다. 그런데 일반항을 알고 있으니 좀 시시하게 풀리는군요. 엑셀로 저는 쓱싹 -_-;;;
BlogIcon codewiz | 2007/09/10 11:56 | PERMALINK | EDIT/DEL
object님 그럼 a, b 두 수가 주어졌을 때 그 사이에 몇 개의 피보나치 숫자가 있는지도 알 수 있는 건가요?? 저는 문제가 그건줄알고 한참 고민했는데 결국 못찾았습니다. ㅎㅎ
BlogIcon snaiper | 2007/09/10 12:40 | PERMALINK | EDIT/DEL
엑셀로...^^: ...
저는 그 계산도 하기 싫어서
다 코딩했다는...

처음에는 문제를 다르게 이해해서...
답이 이상하게 크다 했습니다 ^^:
BlogIcon snaiper | 2007/09/10 13:12 | PERMALINK | EDIT/DEL
글고 구간 얘기는...자리수 얘기는 아니고..피보나치 수의 갯수 얘기였습니다 ^^. 일정 구간 단위로 숫자가 일정하더군요. 저도 첨에는 그 문제인 줄 알고..풀다가 ㅎㅎㅎ
BlogIcon object| 2007/09/10 14:08 | PERMALINK | EDIT/DEL | REPLY
마치 방정식의 해와 같이 구간 사이에 존재하는 숫자를 뚝딱 알아내기는 힘들 것 같습니다. 원식 그대로 로그를 씌우면 이게 비선형스럽게 변해서..
BlogIcon snaiper | 2007/09/10 16:09 | PERMALINK | EDIT/DEL
흠...비선형이라..어느 정도 일정하다가 변하는 모양이군요. 도데체 얼마나 크게 해야? ㅠ.ㅠ
Name
Password
Homepage
비밀글 (Secret)

윤석찬 님의 블로그에서 인터넷 뱅킹에 대한 위협을 봤습니다.
궁금하신 분은 http://channy.tistory.com/188 여기로...TV 에서 했다는데, 보질 못했군요.
저도 한 때 보안...특히나 PKI 쪽 계열 업체에 일한적이 있어서 이런 문제는 관심이 많습니다.

보니 결론은 메모리 해킹인데, 예상못한 것은 아니지만 실제로 만드는 사람이 있을 줄을 몰랐습니다.
이 시나리오를 시연까지 하다니...ㅡㅡ; 그렇게 하고 싶었나...누구야 그거 만들어 놓고 방송까지 출연한
사람이...

출금 계좌 번호 자체를 바꾼다고 하고 그다지 시간이 오래 안 걸린다고 했으니까 HTML DOM객체를 조작하는
작업일까요? 좀 더 최악으로 가정해본다면 ReadProcessMemory와 WriteProcessMemory API 를 이용해서 메모리에 특정 번지(당연히 계좌번호 문자열이 들어 있는 변수겠지요.)를 바꾸는 작업이 될 수도 있을 겁니다.

기술 자체야 그다지 새롭지는 않습니다. 게임계에서는 이 정도는 일반적이니까요. 제가 초등학교 땐가
중학교 때인가...해도 그런 툴을 얼마던지 있었습니다.
뭐 게임 정도는 그 때까지만 해도 돈 피해는 없는 정도였지만, 이 경우라면 대략 난감이군요.

윤석찬님은 위 링크 글에서 아주 본질적인 해결책을 얘기하셨지만, 그것만으로는 아주 일부분 밖에
해결할 수 없습니다. 사실 ActiveX 만 감염 경로로 있는건 아니니까요. 메신저나..
심지어 유명 쉐어웨어를 포탈쪽에 자기가 올리면서 슬쩍 끼워넣을 수도 있는 겁니다.

방송까지 탔으니 분명 금감원, KISA 쪽에서 본격적으로 움직일 겁니다. 이 정도까지 하는 이상...빨리
무엇인가 한다는 모습을 보여주지 않으면 안되니까요. Vista 일 때도...약간 그런 면이 있어보이긴 했지요.
Vista 문제일때도 그랬지만, 이번에도 인터넷 뱅킹에 뭔가 보안책을 더 추가하는 방식으로 갈 것 같습니다.
키보드 보안 + 알파가 더 생길지도...왜냐하면 Vista 문제 때문에 회의하러 가서도 느꼈지만, 본질적으로
현재까지 방식을 바꾸기를 그리 좋아하지 않는다는게 문제입니다. Vista 일때도 최소한의 변경을 요구했듯이요.
윤석찬님이 말했던 것처럼 그런 식으로 하게 만들지는 않고 현재에서 뭔가 더 추가하도록 바꿀 가능성이 높아
보입니다. 다들 그렇게 생각하시나요?

정책적인 문제야 그렇다 치고, 기술적인 면에서 볼 때도...그것 참 난감하겠군요.

계좌번호를 다들 어떻게 넘기는지 모르겠지만 웹브라우저 메모리에 있을 가능성이 높겠죠?
XecureWeb 등의 제품을 쓴다고 해봐야...FORM 데이터를 POST로 보내기전에 데이터를 받아 암호화할테니,
그전에 바꿔버리면...흠 ...난감하겠군요. 그래도 HTML DOM 객체를 외부에서 조작하는 정도로 처리하는 정도면  어떻게 되겠지만, 위에서 얘기한 API 까지 쓸 정도까지 가기 시작하면...이거 전쟁의 서막입니다.

게임계쪽의 얘기를 보면 클라이언트 내용은 믿지 마라. 더미 클라이언트로 바라봐라라고 하지만 이 경우는
그렇게 할 수도 없습니다. 입력하는 정보 안 믿으면 뭘 더 해야할지도 난감합니다.

일단 메모리를 들춰볼테니 각 변수를 암호화부터 하겠지만, 그것도 어느 정도겠지요. 결국 어디선가 구멍이
생길 겁니다. 제가 보기에도 은행 측에서 PC 외의 다른 수단을 써서 이체 확인을 들어가는 수 외에는 없습니다.
그게 현재 상황에서는 그나마 안전해 보이는 해결책이군요.

SMS 를 쓰면 편하고 빠르겠지만 비용 문제가 있군요. 감당못할 것은 아니지만...아마 그 요금을 사용자에게
전가하기 시작할 겁니다. 그럼 메일 정도는 어떨까 싶군요. 어떤 사이트는 신규 가입시 메일로 최종 가입 인증을
하게 하니까, 그런 방법을 이용해보는 것도 방법이긴 합니다.

그나저나 ActiveX 때문이다 라고 하실 분도 있을 것 같네요. 그런데 이거 ActiveX를 쓰지 않는 외국 사이트라고
생각해볼 때에는 대책이 있나요? 메모리 자체를 바꾼다는 가정이 들어간다면 ActiveX를 쓰든 안 쓰든 이 공격은
피해갈 수가 없어보입니다. 그렇게들 생각하시나요?

이제는 기본적인 인터넷 뱅킹 매커니즘을 바꿔봐야 할 때가 온것이 아닌가 싶기도 합니다.

ps. http://blog.dreamwiz.com/007jbond/6097233 을 보니 COM Hooking 으로 했을 것이라고 나오는군요.
     그런데 지금은 COM Hooking 정도이지만, 그 이후에는....생각하고 싶지 않습니다. 메모리 해킹이라고
     방향 잡으면 방법이야 무궁무진하니까요. 본질적인 대책이 필요하겠지요.

이올린에 북마크하기(0) 이올린에 추천하기(0)

 태그 : 
이 글의 관련글(Trackback) 주소 :: http://snaiper.tistory.com/trackback/253
BlogIcon Jerry| 2007/08/27 22:05 | PERMALINK | EDIT/DEL | REPLY
이런 문제가 사실 하루이틀 된 문제도 아니고, 현업에서 보안을 담당하는 사람이라면 상당수의 사람들이 문제를 인지하고 있었을 거라고 생각합니다. 문제는 이에 대한 해법이 정말이지 찾기 어렵다는 것이 가장 큰 문제라고 봅니다. 말씀하신바와 같이 이 부분은 암호화된 정보도 특정 구간에서는 사용자에게 보여줄 수 밖에 없는 현실적 한계에서 출발합니다. 아무리 보안이 좋아도 사용자가 얼마를 이체 하는지조차 안보여줄 수는 없으니까, 메모리 어딘가에서는 짧은 시간이나마 암호화 해제된 정보는 존재할 수 밖에 없죠. DOM, BHO를 쓰던 그건 인터넷 뱅킹 서비스의 매커니즘에 대한 문제이지 특정 플랫폼이나 특정 브라우저의 문제는 결코 아니죠.
BlogIcon snaiper | 2007/08/27 23:37 | PERMALINK | EDIT/DEL
네..결국 매커니즘의 문제인데...
지금 생각해보니 당장 바꾸는 것도 쉽지 않아보입니다.
대대적으로 뒤집어야 할텐데...방법은 둘째치고
사용자들의 원성 감당할 수도 없겠고요.

그냥 어설프게 계속 갈지도 모르겠네요.
BlogIcon Channy| 2007/08/28 04:59 | PERMALINK | EDIT/DEL | REPLY
문제는 우리 나라에서 그런 해킹 프로그램이 나와서 배포 될 때 다른 나라에 비해 파급효과가 더 크다는 데 있습니다. 아무리 해킹 프로그램이 나왔더라도 그 문제를 해결해야할 비용이 크다면 그게 더 문제라는 것입니다. 보안이란 결국 비용의 문제니까요. 국민들 보안 수준을 높여서 PC에 프로그램 설치를 함부로 못하게 하는 방법이 다른 나라와 비슷하게 사회적 비용을 줄일 수 있는 것이 아닐까요?
BlogIcon snaiper | 2007/08/28 15:35 | PERMALINK | EDIT/DEL
사회적인 비용이라..글쎄요. 국민들 보안 수준을 높이는게 더 비용이 들지 않을까요? 그거 생각 외로 쉽지 않습니다. 프로그래머들도 보안 수준이 형편없을 때가 많은데, 그거 교육도 쉽지 않더군요. 하물며 일반 대중이야 ㅡㅡ;
luzluna| 2007/08/28 10:52 | PERMALINK | EDIT/DEL | REPLY
결국 otp가 답이지 않을까요?
BlogIcon snaiper | 2007/08/28 17:06 | PERMALINK | EDIT/DEL
OTP로는 막을 수가 없습니다. 계좌번호를 OTP 로 할수는 없지 않습니까? 한다고 해도...어떻게 윈 계좌를 찾을지도 막막하고요.
BlogIcon rockenrollz| 2007/08/28 11:22 | PERMALINK | EDIT/DEL | REPLY
헉헉헉....
놀라움... 저 시나리오 작성하신 분 한번 보고싶다는...
BlogIcon snaiper | 2007/08/28 17:06 | PERMALINK | EDIT/DEL
나도 궁금하다...당체 누구야..매스컴까지 타고 싶었남?
BlogIcon serapian| 2007/08/28 16:50 | PERMALINK | EDIT/DEL | REPLY
메모리 해킹... 저도 설마설마 했지만 진짜 만드는 사람이 있을줄은 상상도 못했습니다.
게임쪽에서는 아주 오래전부터 실 메모리 데이터를 바꾸는 일이 비일비재했는데... 그걸 뱅킹쪽에 이용하다니...
결국 해킹프로그램이 깔리는걸 막지 못하면 끝이네여...
BlogIcon snaiper | 2007/08/28 17:07 | PERMALINK | EDIT/DEL
그러게 말입니다. 무서워지네요 ^^:
BlogIcon TohnoLyn| 2007/08/31 01:02 | PERMALINK | EDIT/DEL | REPLY
저기 무슨 말인지 해석좀 해주세요 ㅡ.ㅡ;;;

지식이 짧아서 못알아듣겠단
BlogIcon TohnoLyn| 2007/08/31 01:12 | PERMALINK | EDIT/DEL | REPLY
지금 방송 보고왔는데..
특별한 기술은 아니었군요 ㅡ.ㅡ 일종의 Memory Edit 네요

프로텍터가 동작하기 전에 이미 훅을해서 API를 잡고있는건가
BlogIcon TohnoLyn| 2007/08/31 01:22 | PERMALINK | EDIT/DEL | REPLY
그나마 안전한 방법은..
이체명령이 완료 된 후, SMS로 무선인터넷을 통한 마지막 인증절차를 거쳐서 틀리면 RollBack 시키는,..
방법이려나요?
BlogIcon snaiper | 2007/08/31 01:50 | PERMALINK |