공공기관 해킹관련 기사를 보고...

full_accel·2020년 12월 27일
0
post-thumbnail

"해킹관련 지식이 없는 기자도 뚫을 만큼 공공기관 홈페이지의 보안이 허술하다!" 라는 내용의 기사를 보았다.

관련 기사:
https://www.ytn.co.kr/_ln/0134_202010071353358166
영상 재생이 안되면 아래의 링크를 이용하세요.
https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=[자막뉴스]+"기자가+직접+해킹+성공"...보안+허술+끝판왕+홈페이지

보안쪽으로 일하던 시절에, 딱 이 문제 때문에 야근을 했던 기억이 새록새록 떠올랐다. 기사를 보아하니 무언가를 비판하고자하는 강려크한(?) 욕구에 사건의 본질이 흐려지는 것 같았다. (뭔지는 잘 모르지만 일단 까고 싶다는 느낌) 추억도 돋는 김에 관련 썰을 풀면서 기사의 팩트 체크도 해보고자 한다.


기사의 개요

  • 대한민국 공공기관 홈페이지에 로그인할 때 입력된 아이디와 패스워드를 기자가 손쉽게 해킹(?)했다.
    • 이 때 wireshark로 스니핑한 패스워드를 보여주는데 깨알같이 test1q2w3e 이다.(1q2w3e 내지 1q2w3e4r 은 대한민국 국군 1급 기밀이다.)
  • 해킹관련 지식이 없는 기자도 해킹할 정도로 보안이 허술하다.
  • 왜 그런고 하니 https를 적용하면 "모바일로 접속할 경우 오류가 생긴다"는 이유로 이를 중단했습니다고 한다. (???)
  • 아무튼 얘네들은 잘못했다.

기사 해설? 해석?

  • 전체적으로는 맞는 얘기를 하긴하는데... 뭔가 좀 애매한 것 같다...
  • 무언가를 비판하고자 하는 강려크한 욕구(?) 때문에 사건의 본질리 흐려지는 것 같다.

기자가 사용한 프로그램(wireshark)은 해킹프로그램이라고 말하기엔 무리가 있다.

기자가 해킹(?) 시연에 사용한 프로그램은 wireshark 라는 툴이다. 이 프로그램을 굳이 정의 내리자면 네트워크 트래픽 분석 툴이라고 보는 게 맞을 것 같다. 그냥 밑도 끝도 없이 해킹 프로그램이 아니라...

기사 논리대로 가면 크롬도 F12 누르고 네트워크 탭에 가면 네트워크 트래픽을 분석할 수 있으니 해킹 툴이 된다. 비슷한 논리로 식칼은 살인 도구이고 모든 컴퓨터는 해킹 장비이다. 오바 좀 더하면 벽돌도 건축자재가 아니라 뚝배기 깨는 흉기이다.

왜 저런 사단이 벌어지는가?

나는 왜 야근을 했었나?

  • 저 GPKI 인증서 때문에 모바일 접속시 경고 메시지가 출력되는 걸 아주 못마땅하게 생각하시던 훌륭한 마인드를 가지신 고객사의 공무원님께서 작업을 지시하셨다.
  • 공무원님 말씀: GPKI 말고 외제 싸제 인증서 구매했으니 교체해 주세요.
  • 공무원님 말씀 해석
    • 인증서 교체하면 어쨋거나 한 번은 서비스 끊기니까 당연히 저녁에 작업(야근)해야하는거 아시죠?
    • 서비스 끊기는 작업이니까 당연히 작업계획서 써오셔야 하는거 아시죠?

저 해킹(?)은 어떻게 시연했을까?

  • 아마도 추측컨데 대한민국 네트워크의 말단을 장악하고 있는 i사의 장비에서 포트미러링 설정하여 모든 패킷을 스니핑하고
  • 스니핑된 패킷을 wireshark로 열어봤을 것 같다.
  • i사 공유기로 클릭 몇 번하면 포트미러링이 가능하다.
    • TMI. 제발 공유기 관리자 페이지 비밀번호를 어려운 것으로 바꾸자.
      • 그리고 그냥 잊어버리자.
      • 어차피 처음 세팅하고 다시 들어올 일이 거의 없으니.
      • 문제 생기면 그냥 리셋 버튼 누르고 다시 설정하면 그만이다.

포트 미러링이란?

말 그대로 특정 port(여기서는OSI 4계층의 주소인 port가 아니라, 물리적인 통신장비에 UTP 케이블이 연결되는 그 물리적인 port)로 들어가고 나오는 모든 네트워크 트래픽에 대해서 미러링(거울로 보듯이, 트래픽을 카피)하겠다는 것이다.

즉, 내가 특정 포트에 포트 미러링을 설정하면 해당 포르트를 지나는 모든 트래픽을 나도 받아볼 수 있게된다.

패스워드 해킹이 가능한 이유는?

기사에서 시연할 때 SSL(암호화)이 적용되지 않은 상태였다. 따라서 포트 미러링으로 지나가는 트래픽만 받아 보면 평문으로 된 사용자의 패스워드를 확인할 수 있다.

그래서 결론은?

GPKI 인증서가 해외 브라우저 제조업체에게 인정받지 못해서 발생한 사단이다.

  • 웹서비스를 안전하게 제공하기 위해서는 SSL이라는 기술을 사용해야 한다.
  • 이를 위해서는 웹서버는 SSL 인증서를 탑재해야 한다.
  • 그런데 이 SSL 인증서가 믿을만한가 아닌가는 전적으로 고객이 사용하는 웹브라우저가 판단한다.
  • 즉, 웹서버가 SSL 인증서를 가지고 있어도 웹브라우저가 부적절한 인증서라고 판단하면 "!연결이 비공개로 설정되어 있지 않습니다." 라는 무서운 화면이 출력되면서 SSL 통신이 적용되지 않는다.
  • 대한민국에는 GPKI 인증서(행정전자서명, 행정안전부를 최상위 인증기관으로 하는 인증서)가 있다.
  • 공공기관들이 당연히 이 인증서를 탑재했는데,
  • 해외 유명 브라우저들(크롬 등)은 모바일 버전에 대해서 GPKI(행정전자서명) 인증서가 적절하지 않다고 판단했다.
  • 그래서 GPKI(행정전자서명) 인증서를 탑재한 홈페이지에 접속하면 "!연결이 비공개로 설정되어 있지 않습니다." 라는 무서운 화면을 보여줬고, SSL 통신을 지원하지 않았다.

위 기사에 나온 공공기관이 잘못했나?

당연히 잘못했다고 본다. 문제를 인지한 즉시 적절한 외산 인증서로 교체하여 모바일 브라우저의 경고창을 사용자들이 보지 않도록 했어야 했다.

특히 모바일에서 경고창 보여주기 싫다고 인증서 자체를 빼버렸다면... 안전벨트를 메지 않으면 차에서 자꾸 경고음이 울리니 안전벨트 자체를 없애버리는 수준의 극단적으로? 창의적인 발상을 했다고 생각한다.

그럼 다른 부처는 잘못이 없나?

당연히 근본적인 문제는 GPKI(행정전자서명)에 있다고 본다. 애초에 잘 만들어서 브라우저 제조업체가 GPKI(행정전자서명) 인증서를 안전한 인증서라고 판단했으면 이런 일 자체가 발생하지 않았을 것이다. 더불어 매년마다 인증서를 갱신하면서 외국의 인증서 제조업체에 비용도 지불하지 않아도 되었을 것이다.

3줄 요약

  1. GPKI 인증서(행정전자서명, 행정안전부를 최상위 인증기관으로 하는 인증서)가 시장 점유율이 높은 웹브라우저(크롬 등)에 제대로 인정 받지 못해서 해당 브라우저들은 GPKI인증서를 탑재한 웹서비스에서 SSL을 지원하지 않는다.
  2. 일부 정부 기관에서 GPKI 인증서를 자신들의 웹서비스에 적용하여서 GPKI를 인정하지 않는 브라우저들로는 해당 웹서비스에 https로 접속할 수 없었다.
  3. GPKI 인증서(행정전자서명, 행정안전부를 최상위 인증기관으로 하는 인증서)가 제대로된 인증서였다면 애초에 아무 문제도 없었을 것이다.(기사에서는 이부분에 대한 언급이 없다.)
profile
스스로 배운 것이 오래 간다.

0개의 댓글