련선웨어
[1]
련선웨어 소스코드[2]
련선웨어 복호화 도구[3]
디시인사이드 동방 프로젝트 갤러리의 P.노우렛지라는 고정닉을 가진 한 유저가 제작한 랜섬웨어.
참고로 이 유저는 아직까지도 동갤에서 간간히 활동중이고 위키피디아 련선웨어 항목에 자신의 실명이 실린것에 대해서 언급은 했는데 어차피 GitHub에도 실명 까발리고 다녀서 딱히 생각은 없다고... 또한 이것이 일본 동인작가에 의해 만화로 그려진것에 대해서 당황스러운 반응을 보였는데 여파 항목 참조.
2017년 4월 5일 동방 프로젝트 갤러리의 P.노우렛지라는 고정닉을 가진 한 유저가 [A][4] 라는 제목으로 자신이 랜섬웨어를 만들었다는 내용의 글을 올렸다. 카지노 바이러스와 유사하게 돈을 요구하지는 않으나 복호화에 확률이 적용되지 않는다. 초기 버전의 경우 동방성련선의 가장 높은 난이도인 루나틱[5] 을 클리어 한 후 그 리플레이 파일을 올려 검사하는 방식이었으나, 최종 버전에서는 루나틱 모드에서 플레이할 때 게임 프로세스의 메모리를 읽어와 실시간으로 점수를 감지하여[6] 2억점[7] 에 도달하면 암호화가 해제되는 식으로 변경되었다.
전체적인 작동과정만 보면 여타 랜섬웨어와는 다르지 않지만, 특이한 점은 해제 조건이 금전의 지불이 아닌 동방성련선의 실행 여부를 감지하고 점수를 읽어와 2억점에 도달하면 복호화를 진행하는 방식이다.
암호화 키는 다른 서버에 전송되거나 파일의 형태로 저장되지 않고 사용자의 메모리에 상주하고 있으며 랜섬웨어 실행과 동시에 랜덤으로 생성된다. 이후 암호화 과정이 시작되는데, 제작자가 디버깅을 미흡하게 한 탓에 접근할 드라이브가 접근 가능한 드라이브인지[8] 확인하지 않고 접근하여 프로그램이 에러를 일으키며 종료되어버린다.
그러나 성공적으로 암호화가 완료된 경우 붉은 바탕에 무라사 미나미츠의 일러스트가 들어간 랜섬노트가 뜨고, 동방성련선에서 점수 2억점을 도달하라는 메세지가 표시된다. 이후 게임이 실행되면 난이도를 체크하면서 루나틱으로 설정될 때까지 점수 확인을 시작하지 않으며 루나틱으로 난이도가 변경되면 비로소 점수 확인이 시작된다.
만일 피해자가 2억점에 도달할 경우 점수와 난이도 감지를 중단하고 바탕화면에 랜덤으로 생성된 키를 bin 파일의 형태로 저장한 뒤 복호화를 개시하며, 만약 복호화에 실패한 파일이 있을 경우를 위해 수동 복호화 툴을 사용할 수 있도록 버튼이 표시된다.
또한 복호화 툴을 실수로 꺼도 바탕에 키파일만 그대로 있으면 다시 실행시 그냥 수동 복호화 툴로 넘어간다.
내용을 번역하면 아래와 같다:
제작자는 순전히 흥미본위로 만든 듯 하지만 정작 제작자는 [A][13] 제작자 본인이 감염되는 안습한 사태가 벌어지기도 했다.
피해 사례가 없으면 경찰이 수사를 하지 않을 뿐이지 만에 하나 저 공개된 코드를 기반으로 한 악성 코드가 진짜로 나오거나 한 경우, 경찰 수사가 진행되면 처벌의 가능성이 높다. 대한민국은 정보통신망 이용촉진 및 정보보호 등에 관한 법률 제48조 2항에 의해 정당한 사유 없이 악성 프로그램의 유포시 징역 5년 혹은 벌금 5천만원 이하의 처벌을 받을 수 있으며, 소스코드를 프로그램으로 판정한 판례가 존재한다. 링크
이에 관해 납득이 되지 않는 사람을 위해 한 가지 사례를 들자면, 2011년 한국에서 열린 Power of Community 행사에서 이스라엘의 화이트 해커 야니브 미론이 한국 정부의 미사일과 핵 발전소가 해킹 당할 수 있음을 시연하여 경고를 했다. 시연 자체는 가상 시스템을 두고 했으므로 불법이 아니었고, 시연이 끝난 후에 얼굴이 창백해진 한국 정부 관계자들이 야니브를 찾아가 자세한 방법을 알려달라고 부탁하자 야니브는 한국 정부 관계자들에게 '''"한국에서 해킹 방법의 공개는 합법인가?"'''라고 질문했고, '''정부 관계자들은 불법이라고 대답'''해서 야니브는 한국 법의 처벌을 받지 않기 위해 이스라엘에 돌아가 자기 블로그에 해킹 방법을 올렸다. 관련기사, 다만 이 기사에서는 법 해석을 잘못한 것으로 봐야 한다. 학술적인 목적으로 악성 프로그램의 소스를 공개하는건 법문의 '정당한 사유'에 해당하기 때문.
'''rensenWare'''1. 개요
련선웨어 소스코드[2]
련선웨어 복호화 도구[3]
디시인사이드 동방 프로젝트 갤러리의 P.노우렛지라는 고정닉을 가진 한 유저가 제작한 랜섬웨어.
참고로 이 유저는 아직까지도 동갤에서 간간히 활동중이고 위키피디아 련선웨어 항목에 자신의 실명이 실린것에 대해서 언급은 했는데 어차피 GitHub에도 실명 까발리고 다녀서 딱히 생각은 없다고... 또한 이것이 일본 동인작가에 의해 만화로 그려진것에 대해서 당황스러운 반응을 보였는데 여파 항목 참조.
2. 발단
2017년 4월 5일 동방 프로젝트 갤러리의 P.노우렛지라는 고정닉을 가진 한 유저가 [A][4] 라는 제목으로 자신이 랜섬웨어를 만들었다는 내용의 글을 올렸다. 카지노 바이러스와 유사하게 돈을 요구하지는 않으나 복호화에 확률이 적용되지 않는다. 초기 버전의 경우 동방성련선의 가장 높은 난이도인 루나틱[5] 을 클리어 한 후 그 리플레이 파일을 올려 검사하는 방식이었으나, 최종 버전에서는 루나틱 모드에서 플레이할 때 게임 프로세스의 메모리를 읽어와 실시간으로 점수를 감지하여[6] 2억점[7] 에 도달하면 암호화가 해제되는 식으로 변경되었다.
3. 작동방식
전체적인 작동과정만 보면 여타 랜섬웨어와는 다르지 않지만, 특이한 점은 해제 조건이 금전의 지불이 아닌 동방성련선의 실행 여부를 감지하고 점수를 읽어와 2억점에 도달하면 복호화를 진행하는 방식이다.
암호화 키는 다른 서버에 전송되거나 파일의 형태로 저장되지 않고 사용자의 메모리에 상주하고 있으며 랜섬웨어 실행과 동시에 랜덤으로 생성된다. 이후 암호화 과정이 시작되는데, 제작자가 디버깅을 미흡하게 한 탓에 접근할 드라이브가 접근 가능한 드라이브인지[8] 확인하지 않고 접근하여 프로그램이 에러를 일으키며 종료되어버린다.
그러나 성공적으로 암호화가 완료된 경우 붉은 바탕에 무라사 미나미츠의 일러스트가 들어간 랜섬노트가 뜨고, 동방성련선에서 점수 2억점을 도달하라는 메세지가 표시된다. 이후 게임이 실행되면 난이도를 체크하면서 루나틱으로 설정될 때까지 점수 확인을 시작하지 않으며 루나틱으로 난이도가 변경되면 비로소 점수 확인이 시작된다.
만일 피해자가 2억점에 도달할 경우 점수와 난이도 감지를 중단하고 바탕화면에 랜덤으로 생성된 키를 bin 파일의 형태로 저장한 뒤 복호화를 개시하며, 만약 복호화에 실패한 파일이 있을 경우를 위해 수동 복호화 툴을 사용할 수 있도록 버튼이 표시된다.
또한 복호화 툴을 실수로 꺼도 바탕에 키파일만 그대로 있으면 다시 실행시 그냥 수동 복호화 툴로 넘어간다.
내용을 번역하면 아래와 같다:
본연의 성능(?)으로 평가하면 그냥 장난감, 그것도 고장난 장난감 수준으로 드라이브 목록을 제대로 못읽어서 ODD 드라이브를 암호화하려다 오류나고, 오류처리도 제대로 구현이 안돼있어[10] 그대로 프로그램이 뻗어버린다거나 자체 보호 기능이 전혀 없는건 물론이고 메모리 변조를 통한 점수조작과 2억 리플레이 파일으로 간단히 해제할 수 있는 등[11] 여러모로 엉성한 모양새다. 그래도 일단은 랜섬웨어고, 무엇보다 '''복호화 키를 저장하지 않기 때문에'''[12] 위험하긴 하다. 만약 감염됐다면 랜섬웨어를 종료하지 말고 무력화 툴을 다운받아 해결하자.경고!
시스템이 RensenWare에 의해 암호화되었습니다.
'''이게 도대체 뭡니까?'''
무라사 미나미츠 선장이 문서, 음악, 사진 및 일부 프로젝트 파일과 같은 귀중한 데이터를 암호화했습니다.
무작위 키를 사용하여 매우 강력한 암호화 알고리즘으로 암호화되기 때문에 이 응용 프로그램 없이는 복구 할 수 없습니다.
'''파일을 복구하려면 어떻게 해야하죠?'''
간단합니다. 동방성련선을 실행하고 루나틱 난이도에서 2억 점을 넘으면 됩니다.
이 응용 프로그램은 자동으로 TH12 프로세스 및 점수를 감지합니다.
치트를 사용하거나 이 프로그램을 종료할 경우 암호화 키가 날아갑니다![9]
제작자는 순전히 흥미본위로 만든 듯 하지만 정작 제작자는 [A][13] 제작자 본인이 감염되는 안습한 사태가 벌어지기도 했다.
4. 여파
- 2020년 4월 3일 일본의 やす라는 이름을 가진 동인작가(트위터)가 이것을 주제로 개그 4컷을 그리면서 수출이 이루어졌다. #원본번역1번역2 그리고 이어지는 제작자 P.노우렛지의 당황스러운 반응
- 2020년 현재도 간간히 이 소재는 역수출되고 있으며 만화로 그려내는 일본인 작가들이 있을 정도#
- 련선웨어는 해외에도 소식이 알려지며 큰 웃음을 주었고, 태국 뉴스에서도 보도되었다. 그리고 보안 전문가 잉카인터넷 공식 블로그와, 국내에서 나름대로 IT보안에 관한한 매우 공신력 높은 블로그인 울지않는 벌새도 올렸다. 련선웨어의 제작자는 소스 코드를 공개했다가 논란이 일었으며,[14] 이에 4월 7일 소스 코드를 내리고 부랴부랴 해제 툴GitHub을 만들어서 뿌렸다. rensenware 사태 정리글
- 비첼이 실버 서퍼(NES판) + 약 안쓰고 아이 키우기와 섞어서 해당 랜섬웨어를 풍자했다.
- 비슷한 것으로는 랜섬호스가 있다. 이 랜섬웨어는 파일 암호화 방식은 바탕화면의 txt, zip, 7z, jpg, png, gif 파일들의 내용을 읽어서[16] Base64로 인코딩한 뒤 파일로 저장하는 방식이다. 다만 BASE64로 인코딩하니 디코딩 과정에서 오류가 발생할 수 있으니 실행하지 마라는 경고와 이걸로 장난을 치다 형사님과의 면담 기회가 와도 책임지지 않는다는 경고도 있다. 이 랜섬웨어의 해제조건은 히어로즈 오브 더 스톰을 1시간 하는 것. 조건방식은 히어로즈 오브 더 스톰의 창을 발견하고 창이 있는 동안 1시간이 지나면 복호화를 하는 방식이다. 히어로즈 오브 더 스톰을 실행하고 1시간 그대로 게임을 안 하고 둬도 복호화된다. 당연히 복호화 툴도 제공하고 있다. 랜섬호스 실행파일와 소스도 공개되었으나 현재는 복호화툴만 제공한다.
- 련선웨어의 영향인지는 불명이지만 컴퓨터에서 바이러스를 검사할 때 다른 동방 작품들은 멀쩡한데 성련선만 바이러스 취급을 받는 일도 종종 발생하고 있다.
5. 이 사건의 의의
피해 사례가 없으면 경찰이 수사를 하지 않을 뿐이지 만에 하나 저 공개된 코드를 기반으로 한 악성 코드가 진짜로 나오거나 한 경우, 경찰 수사가 진행되면 처벌의 가능성이 높다. 대한민국은 정보통신망 이용촉진 및 정보보호 등에 관한 법률 제48조 2항에 의해 정당한 사유 없이 악성 프로그램의 유포시 징역 5년 혹은 벌금 5천만원 이하의 처벌을 받을 수 있으며, 소스코드를 프로그램으로 판정한 판례가 존재한다. 링크
이에 관해 납득이 되지 않는 사람을 위해 한 가지 사례를 들자면, 2011년 한국에서 열린 Power of Community 행사에서 이스라엘의 화이트 해커 야니브 미론이 한국 정부의 미사일과 핵 발전소가 해킹 당할 수 있음을 시연하여 경고를 했다. 시연 자체는 가상 시스템을 두고 했으므로 불법이 아니었고, 시연이 끝난 후에 얼굴이 창백해진 한국 정부 관계자들이 야니브를 찾아가 자세한 방법을 알려달라고 부탁하자 야니브는 한국 정부 관계자들에게 '''"한국에서 해킹 방법의 공개는 합법인가?"'''라고 질문했고, '''정부 관계자들은 불법이라고 대답'''해서 야니브는 한국 법의 처벌을 받지 않기 위해 이스라엘에 돌아가 자기 블로그에 해킹 방법을 올렸다. 관련기사, 다만 이 기사에서는 법 해석을 잘못한 것으로 봐야 한다. 학술적인 목적으로 악성 프로그램의 소스를 공개하는건 법문의 '정당한 사유'에 해당하기 때문.
[1] 보통은 Rensenware라고 알려져 있으나 rensenWare가 맞다. camel case와 pascal case의 혼동 과정에서 생겨난 이름이다.[2] 위험한 코드가 제거된 버전[3] 동방프로젝트 게임이 실행되지 않아도 복호화를 실행시킬 수 있다.[A] A B 2018년에는 멀쩡했지만 2019년 3월 18일 기준 삭제되있다.[4] 보고싶다면 아카이브[5] 동방성련선은 탄막 슈팅 게임인 동방 프로젝트 게임 중에서도 가장 어려운 난이도로 손꼽힌다. 자세한 것은 문서 참조.[6] 이 때문에 2억점을 찍은 리플레이 파일을 실행하면 복호화가 가능하다.[7] 원래는 4억점이었다. 하지만 4억점 돌파는 어렵다는 점에서 절반인 2억점으로 변경했다.[8] 비어있는 CD 드라이브와 하드디스크를 구분하는 로직이 없다.[9] 실제로는 치트 감지를 하지 않는다.[10] 이 당시 개발자는 Directory.GetLogicalDrives() 메서드가 광학 드라이브나 빈 SD 슬롯까지 포함한다는 사실을 간과하고 있었다.[11] 제작자가 최초에 배포한 무력화 툴이 이 방식이다. 치트엔진 기반이라고 알려졌지만 이것은 설명을 쉽게 하기 위함이고 사실 치트엔진과는 관련이 없으며 Windows API를 이용하여 동작한다.[12] 복호화 키는 랜덤으로 생성하여 메모리 상에 올라간다. 그러므로 컴퓨터를 재부팅하거나 프로그램을 강제로 종료하면 복호화키가 사라져 '''AES-256 알고리즘이 파훼되지 않는 한 영원히 복구할 수 없다.'''(AES는 미국 정부에서 기밀 문서 암호화에 사용하는 알고리즘이다) 이러한 점 때문에 복호화가 완료됐다 하더라도 일부파일이 복호화가 안 될 가능성을 염두해 두고 복호화 전 복호화 키를 bin파일로 만들어 저장한다.[13] 아카이브[14] 다만 이걸 작동시켜도, 디버깅을 잘 안했기 때문에 실행조차 안 된다고 한다. 따라서 제작자 본인 컴퓨터 감염이 처음이자 마지막 감염인 셈. 해외 리뷰어들은 디버깅을 한 뒤에 실행을 했다.[15] 현재는 네이버 뉴스에서 내려간 상태이다.[16] 암호화 대상은 바탕화면의 파일들