사실 다른 사이트에서 본거긴 한데 ycombinator 보니까 아직도 첫장에 있음


게시글:

https://news.ycombinator.com/item?id=34231364


블로그: https://palant.info/2023/01/02/south-koreas-online-security-dead-end/


이 블로그 글은 현재 한국에 있는 은행 서비스들의 기괴한 보안 시스템에 대해 글쓴이가 찾은바를 얘기하고 있음. 이 글을 쓰면서 은행들한테 연락했고 90일을 준다고 함. 그담부터 계속해서 자기가 찾은 내용을 공개할 계획이라고 함. 자세한 내용은 블로그에 있고 나도 보안 전문가는 아니니 대충 내가 느낀점을 요약함.



한글 요약:

-한국의 암호학은 90년대에 미국이 암호화 기술 수출을 금지하면서 따로 개발됨. 하지만 이 금지령이 풀리면서도 계속해서 자채개발된 “암호화” 기술을 사용하고 있다고 함. 현대 기준에서 보면 한국에서 자체 개발되서 이런 보안 프로그램에 사용되는 암호 알고리즘과 프로그램들은 20 년정도 뒤쳐져있다고 함.


- 많은 프로그램들의 특징은 obfuscation (까보기 힘들게 만드는것) 을 중심으로 실제 보안 기능은 거의 없어보인다고 함. 다큐멘테이션이 없는건 당연하고 까보지 못하게 여러 꼼수를 사용했지만 글쓴이는 대부분의 프로그램에서 executable을 뽑아낼수 있었고 소스코드를 볼수 있었다고 함. 개발자들의 보안의 기준이 까볼수 없는거면 안전한거라고 생각하는거 같기도 하다고 글쓴이는 말함.


- 또한 대부분의 기술들이 90년대나 00년대에 멈춰있으며 많은 프로그램들이 C같은 로우레벨 언어로 써졌다고 함. 이거 자체가 문제는 아니지만 이런 언어들은 메모리 관리를 제대로 하지 않으면 보안상 매우 위험함. 그리고 글쓴이가 말하기에 이런 코드들에 많은 경우는 개발자가 이런 메모리 관리에 익숙하지 않은 모습을 보였다고 함 (ㅈㄴ 흘린다는거임)


- 또한 오픈소스 소프트웨어를 사용하는 프로그램들은 10여년 전 버전을 사용하고 있고 컴파일러는 15년전거까지 쓰는 경우도 있다고 함. (이건 근데 다른나라 은행에서도 레거시 쓰는건 마찬가지니 그나뫄 봐줄만하다고 나는 생각함)


- 그리고 아무리 구식 컴파일러라 해도 많은 경우엔 그때 존재하던 메모리 안전 기능들도 꺼버린 경우도 있다고 함 (Address Space Layout Randomization (ALSR), Data Execution Prevention (DEP) 등)


- 브라우저 익스텐션의 경우엔 코드가 전혀 shuffle 되지도 않은 모습도 보이고 커멘트까지 볼수 있는 경우도 찾았다고 함.


- 아주 많은 경우에 이 보안 프로그램들은 현대 브라우저가 기본으로 달고 있는 기능들을 구현하고 있다고 함.


- 글쓴이가 느낀점은 이 프로그램들은 은행들이 법규에 따르기 위한 방법이지 은행의 고객을 실제로 보호하는데는 효과가 정말 있는지 확인할 방법이 없다고 함. 이런 프로그램들은 서로 책임을 돌리기 위한 방법이고 실제로 이 문제가 고쳐진다면 이런 프로그램들을 외주받던 회사들의 상품 자체가 없어지니 실제로 고칠지는 자기도 의문이라고 함.


재밌는 글이고 나도 언제나 궁금했던 한국 인터넷의 갈라파고스화에 대한 이야기도 조금 있어서 공유해봄


+댓글중 모질라에서 일했던분이 2007년도에 비슷한 상황에 대해 쓴 블로그 글도 있음. 십년이 넘게 지났고 해외에선 계속 지적되던 문제였다는게 좀 웃기긴 함.


https://archive.is/e2LD


98년도에 아직 128비트를 쓰는 ssl이 완전화 되지 않았을때 한국 정부는 SEED 라고 알려진 독자적인 128비트 암호화 시스템을 구현했다고 함. 이 기술을 쓰는 나라는 한국밖에 없다고 함. 내 사족을 달자면 독자개발까진 칭찬할 일이 맞는거같음. 근데 미국발 ssl이 전세계에 공개되며 시대의 흐름을 타지 못했던거같음. 그리고 이 블로그에선 한국의 많은 IT 기술들이 마이크로소프트의 윈도우에 완전히 묶여있는 상황이라고도 지적함.