레이블이 보안인 게시물을 표시합니다. 모든 게시물 표시
레이블이 보안인 게시물을 표시합니다. 모든 게시물 표시
2021년 8월 15일 일요일

웹/앱서비스 개발, 보안 기초 - SALT는 왜 사용하는가?


어떤 웹사이트와 앱에 위와 같은 회원정보를 가진 데이터베이스가 있습니다. 가입된 회원들의 이름과 아이디, 그리고 비밀번호가 저장되어 있습니다.

데이터베이스에 자료가 저장되는 가장 기초적인 형태입니다. 그러나 개인정보를 위와 같이 저장하면 절대로 안됩니다. 왜냐하면 비밀번호가 평문 그대로 저장되어 있기 때문입니다. 민감한 개인정보를 평문 그대로 저장하는 것은 자살행위입니다. 해커의 입 속으로 소중한 정보들이 들어간 이후에는 돌이킬 수 없습니다.

요즘은 저런 기초적인 실수를 하는 개발자는 거의 없어졌지만, 예전엔 개인정보를 저렇게 저장하는 사례가 정말 많았습니다. 요즘도 몇몇 개인 쇼핑몰에서는 개인정보를 저런식으로 저장을 하다가 난리가 나기도 합니다.

그렇다면, 비밀번호를 해커와 내부의 직원들이 알아볼 수 없도록 한번의 암호화 과정을 거쳐야 합니다.


평문으로 저장되던 회원들의 비밀번호를 암호화하였습니다. 이제 한결 마음이 편해집니다. 해커나 직원들이 고객의 비밀번호 평문을 알아낼 수 없게 되었습니다. 위의 예제에서는 비밀번호 평문을 해시 함수 SHA-256을 이용해서 암호화하였습니다.

과거에는 평문을 암호화할 때 해시 함수 MD5를 많이 사용했습니다. 그러나 요즘은 거의 사용하지 않습니다. MD5는 이미 2000년대에 결함이 발견되었습니다. 그리고 MD5용 딕셔너리도 상당히 방대하게 구축되어 있어서 무차별 대입 공격(Brute Force)에도 매우 취약합니다. 또, 이제는 개인 PC로도 MD5의 해시 충돌을 발견할 수 있을 정도로 쓸모없는 알고리즘이 되었습니다.

그래서 이후에는 SHA 함수들을 보편적으로 사용하게 되었습니다. 그러나 SHA0과 SHA-1도 취약한 부분들이 발견되었기 때문에 일단 SHA-256 이상을 사용하여 암호화 하는 것이 권장되고 있습니다.

그러나 아무리 복잡한 해시 함수를 사용한다고 해도 딕셔너리가 구축되면 무차별 대입 공격에서 자유로울 수는 없습니다.


그래서 한 차례 더 안전장치를 만들게 되는데, 이때 사용되는 것이 바로 솔트(SALT)입니다. '소금을 친다'라는 은어로 표현하기도 합니다.

1차적으로 해시된 암호문에 소금을 쳐서 암호문을 한번 더 비꼬아 저장하는 것입니다. 위와 같이 회원 DB에는 SALT값을 저장할 애트리뷰트가 추가되었습니다. (SALT는 다른 곳에 보관하는 것을 추천)

소금을 치는 방식은 다음과 같습니다.

A9902!MGGA28356c7bd7b12c4c922d3e79666661d77d42473786f7547680354f3b014ae933

이렇게 단순하게 소금을 치는 것도 마음에 걸린다면 암호문의 7번째 문자의 뒤에 SALT를 결합한다는 식으로 응용을 해도 됩니다. 

A9902!MGGAmylove1934!!

또는, 처음부터 평문과 솔트를 합해서 해시 함수로 암호화를 하기도 합니다.

이와 같이 1차 암호문이나 평문에 SALT를 결합해서 해시 함수를 한바퀴 더 돌리면 됩니다. 너무나 당연하게도 이 작업은 서버에서 이루어져야 합니다. 클라이언트에 어떤 힌트도 노출이 되어서는 안됩니다. 그렇다면 손쉽게 해커에게 비밀번호가 노출되기 때문에 이런 작업을 하는 것 자체가 무용지물입니다.

솔트는 길면 길수록 좋습니다. 그리고 간혹 SALT를 하드코딩하여 전체 회원에게 동일하게 적용하는 경우가 있던데, 이러면 SALT를 쓰나마나입니다. 회원별로 별도의 난수를 생성해서 각기 다른 SALT를 저장해서 사용하는 것이 좋습니다.

너무나 당연하게도 데이터베이스에는 회원이 입력한 비밀번호 평문과 1차적으로 만들었던 암호문은 저장하지 않습니다. 암호문에 소금을 쳐서 다시 암호화 한 암호문만 저장하면 됩니다.

이렇게 해두면 해커가 DB까지 털어간다 하더라도 회원들의 비밀번호가 안전하게 보호되겠죠? 물론, 회원들의 비밀번호가 지나치게 간결하면 궁극적으로는 보안에 취약할 수 밖에 없으니 회원 가입을 받을 때, 최소 자릿수이상으로 가입을 받고 특수 문자 등을 섞어서 받으면 좋을 것입니다.

2021년 8월 15일
송종식 드림







2021년 4월 2일 금요일

주식투자 관련 텔레그램 채널과 봇 추천


요즘 텔레그램 투자 채널들이 정말 많아졌습니다. 개설도 쉬운데다 얼굴을 노출하지 않아도 되니 하루에도 정말 많은 채널들이 만들어지고 있습니다.

그리고 그 중에서는 좋은 채널들도 많습니다. 몇개의 좋은 채널을 꾸준히 읽다 보면 산업이나 시장의 흐름이 어느 정도 어렴풋이 읽힙니다. 물론 텔레그램만 들여다 보고 있으면 위험합니다. 추가 적이고 깊은 공부를 하는 것은 각자의 몫입니다.

어쨌든 텔레그램이 워낙 빠른 실시간 소통 창구인데다, 증권 관련 이야기가 확산되는데는 최적화 돼 있습니다. 그래서 제 경우에는 요즘 뉴스를 포털이나 소셜미디어에서 안 봅니다. 거의 대부분의 디지털 뉴스를 텔레그램에서 소비하고 있습니다. 이것에만 의존하면 좋지 않을 것 같아서, 별도로 종이신문과 주간지는 몇개 구독해서 따로 읽고 있습니다.

텔레그램에서 여러 채널을 보다 보면 시장에 어떤 소식이 중심 소식인지, 또 특정 산업은 어떤 식으로 흘러가고 있는지 등에 대한 흐름들을 읽을 수 있습니다. 물론, 휩소나 소음도 매우 많습니다. 그런 것을 걸러내는 훈련이 되신 분들이면 텔레그램을 더욱 잘 활용하실 수 있습니다.

투자관 정립이 덜 되었거나 귀가 얇거나 소음에 잘 휩쓸리는 분들은 텔레그램 채널의 이용을 재고하시는 것을 추천드립니다. 아니면 텔레그램을 이용하더라도 정말 꼭 필요한 공시 알리미 정도만 쓰는 것도 방법입니다.

텔레그램 채널과 봇 목록 (ㄱㄴㄷ순)


가투방 저장소

운영주체 : 개인 가치투자자 주린님
특징 : 가치투자와 관련된 투자 철학이나 멘탈 그 외 기업과 산업에 관련된 소식 전달. 채팅방을 별도로 운영하고 있고, 이곳에서도 좋은 이야기가 많이 오감

깐프의 투자이야기

운영주체 : 개인투자자 깐프님
특징 : 시장 핵심 뉴스와 공시 로우데이터의 큐레이팅

공부하는 투자자의 스터디룸

운영주체 : 개인투자자 공부하는투자자님
특징 : 시장의 주요 뉴스와 리포트 스크래핑, 투자 철학과 관련된 글을 업로드

공시알림 봇

운영주체 : 개인투자자 chumy8415님
특징 : 등록해 둔 회사의 공시정보를 실시간으로 배달, 자세한 것은 해당봇을 친구등록 한 뒤 대화창에 /help를 입력하여 도움말 참조

nuclear tooth 주식에 미치다

운영주체 : 미상
특징 : 텔레그램 채널을 운영하는 애널리스트들의 글을 자동으로 실시간 전달

DOLFAM’s Daily!!

운영주체 : 개인투자자 돌팸님
특징 : 블로거들이 정리한 인뎁스 분석글과 자료를 잘 찾아서 큐레이팅 해 줌

매일경제

운영주체 : 미상
특징 : 매일경제 신문에 올라오는 기사 중 일부를 실시간으로 공유

매일경제 스크랩 by 훵키클리닉

운영주체 : 개인투자자 훵키클리닉님
특징 : 매일경제 신문에 올라오는 기사를 지면 그대로 스크랩하여 형광펜을 긋고 코멘트를 달아줌

산업트렌드

운영주체 : 미상
특징 : 증권사에서 작성한 산업리포트와 기업리포트 중에서 인뎁스리포트만 추려서 올라옴

서울경제 사회이슈채널

운영주체 : 서울경제신문사
특징 : 대한민국 내외에서 벌어지고 있는 주요 사회 이슈에 대한 기사가 업로드 됨

Seung

운영주체 : 이베스트투자증권 염승환 부장님
특징 : 시장과 산업의 중심에 있는 소식들을 적절하게 잘 큐레이팅 해주는 채널

Signal Lab 주식리서치

운영주체 : 시그널랩
특징 : 섹터별 코멘트와 재미있는 짤방 모음

시나브로의 투자일기

운영주체 : 유안타투자증권 PB로 추정
특징 : 투자철학이나 투자관과 관련해서 장문의 좋은생각을 작성하여 공유

실검 알리미 봇

운영주체 : Sonami님
특징 : 한국 네티즌들이 네이버에서 가장 많이 검색하는 실시간 검색어를 1시간 마다 배달

IRGO - IR 읽어주는 남자

운영주체 : IRGO
특징 : IR자료 위주의 자료 업데이트

아이투자 투자정보

운영주체 : 한국투자교육연구소
특징 : 실적과 지분 변동 등을 중심으로 한 실시간 뉴스 발송, 실적과 재무지표를 가공하여 공유

엔티제투자연구소

운영주체 : 개인투자자
특징 : 투자에 도움이 되는 뉴스를 가장 빨리 푸시해 줌, 필요한 거의 모든 뉴스 편리하게 배달

정치 모니터링

운영주체 : 미상
특징 : 여론조사 결과 등 정치 관련 지표들을 실시간으로 업데이트

주식 리포트

운영주체 : 미상
특징 : 한경컨센서스에 올라오는 리포트를 실시간으로 스크래핑

KTB 건설/대체투자 라진성

운영주체 : KTB투자증권 라진성 애널리스트님
특징 : 건설섹터와 관련된 소식이나 로우데이터 공유

최선생네 반지하

운영주체 : 개인투자자 구로동최선생님
특징 : 시장 이슈와 사회 이슈 기사 큐레이팅, 거기해 더해 재미있는 코멘트 한 줄씩

TNBfolio

운영주체 : 미상
특징 : 각종 산업 지표와 로우데이터를 긴 시계열로 공유, 시장 뉴스 공유

하나금투 송선재의 자동차 News

운영주체 : 하나금투 애널리스트 송선재 부장님
특징 : 자동차 섹터만 집중적으로 파고들어 다루는 채널

하나 IT 김경민, 김록호, 김현수

운영주체 : 하나금투 김경민, 김록호, 김현수 애널리스트님
특징 : IT(반도체, 디스플레이, 이차전지 중심) 소식 전달

한걸음 적자생존 자료실

운영주체 : 개인투자자 한걸음님
특징 : 투자철학, 시장 주요 소식, 유튜브와 블로그 볼거리들 제공

헨리의 투자노트 Building Pipelines

운영주체 : 개인투자자 헨리님
특징 : 읽을만한 리포트, 뉴스, 투자철학 글들을 공유

호짤시-즌투

운영주체 : 호짤시님? 패밀리?
특징 : 주식 채널인 듯 아닌 듯 투자 소식과 함께 재미있는 입담과 짤방을 올려주는 채널, 가끔 소개팅 주선글도 올라옴

텔레그램 다운로드 주소


이미 모르시는 분도 안 쓰시는 분도 없으실 줄 압니다. 그래도 혹시나 모르시는 분들을 위해서 간략하게 소개글을 남겨 두겠습니다.

출처 : unsplash.com

텔레그램은 2013년에 출시된 메신저입니다. 이 메신저를 만든 파벨두로프는 코딩도 잘 하지만 잘생긴 것으로도 유명합니다. 사실 그의 신념하나 때문에 더 유명한데요, 그는 대단한 자유주의자입니다.

푸틴이 텔레그램에서 오가는 대화와 개인정보를 요청하자 파벨두로프는 이에 응하지 않고 카리브해에 있는 섬나라로 망명을 떠납니다. 그의 이런 신념은 텔레그램 서비스에도 녹아있습니다. 텔레그램에 있는 개인정보나 오가는 대화들은 철저히 보호됩니다. 일단 그 어떤 정부나 힘을 가진 주체의 요청에도 철옹성처럼 닫혀 있습니다.

특히 러시아의 감시를 받는 파벨 두로프는 텔레그램의 보안에도 대단히 신경을 쓰고 있습니다. 보안에 대한 자신감은 해킹 대회를 여는 것으로도 알 수 있습니다. 텔레그램에서 오가는 대화를 감청하거나 텔레그램 서버를 해킹하는 사람에게는 상금 3억 원을 주겠다고 했지만 몇년째 텔레그램 해킹에 성공한 사람은 없습니다.

그렇듯 텔레그램은 최강의 보안을 자랑하는 메신저입니다. 또한, 속도가 매우 빠르고 서비스가 안정적입니다. 대화방이나 미디어 역할을 하는 채널을 만들기도 편리합니다. 또한, 한번 기록한 정보는 텔레그램 서버에 거의 영구적으로 보관이 됩니다. 자칫 이것이 위험한 것 아니냐고 반문할 수 있지만 아직 텔레그램 서버 해킹에 성공한 사람이 없는 것을 보면 그렇게 걱정할 일은 아닌 것 같습니다.

세계적 해커들이 입모아 말하는 가장 강력한 해킹인 '물리적 해킹'만 주의하면 될 것 같습니다. 예를 들면 남편이나 부인에게 휴대폰을 빼앗긴다던가 하는 것들 말이죠.

텔레그램의 빠른 속도와 높은 안정성, 그리고 높은 보안 덕분에 특히 금융권에서 많이 사용하는 메신저로 이름을 알렸습니다.

처음 출시됐던 2013년에는 컴퓨터 프로그래밍 geek들이 조금씩 쓰다가 그 다음은 금융권에서 빠르게 확산이 되었습니다. 그리고 얼마후에 카카오톡이 검찰에 대화 내용을 제공한다는 사실이 알려져서 난리가 난 적이 있습니다. 이에 일반 국민들도 텔레그램으로 망명을 많이 하게 되면서 세간에 텔레그램의 인지도가 올라가게 됩니다.
근래에는 박사방 사건 등으로 텔레그램이라고 하면 나쁜 이미지가 씌워져 있습니다. 그러나 칼도 강도가 쓰면 흉기가 되지만 요리사가 쓰면 훌륭한 도구가 되듯이 나쁜짓을 하는 사람들이 문제지 텔레그램에 문제가 있는 것은 아닙니다. 조주빈이 한국인이라고 해서 모든 한국인이 문제가 있는 것이 아닌 것과 마찬가지 이치입니다.

GPLv3라이센스에 API도 어지간한 기능은 다 공개가 돼 있으니 개발을 좀 할 줄 아신다면 재미있는 것들도 많이 만들 수 있습니다.

어쨌든 텔레그램은 정말 좋은 메신저입니다. 저는 개인적으로 카카오톡은 거의 쓰지 않고 지인들과 소통할 때는 텔레그램을 주로 이용합니다. 또한, 앞서 소개드린 여러가지 정보들을 주고 받기에도 정말 편리합니다. 텔레그램을 안 쓰는 분들은 사용해 보시라고 적극 권하고 싶습니다.

텔레그램 다운로드 주소https://telegram.org/

* 제가 모르는 채널은 기록이 누락돼 있을 수 있습니다. 누락된 채널의 운영자께서는 마음 상하는 일이 없으셨으면 좋겠습니다. 채널 목록은 지속해서 업데이트 됩니다. 아직 등록해야 할 채널이 더 많은데, 오늘은 귀차니즘으로 이 정도 선에서 마무리를..

참! 저도 운영하는 채널이 있기는 있는데, 별 영양가는 없을거에요. 나중에 제가 기업분석을 하거나 할 때 사용하려고 각종 기사나 데이터들을 수집해놓는 채널이구요. 가끔 뻘소리나 잔소리도 하고 저장해뒀다 써먹는 용도로 짤방도 모아두는 채널입니다. 관심 있는 분들은 놀러오세요. https://t.me/jongsiksong

최초작성 : 2021년 4월 1일
최종수정 : 2021년 10월 9일

연관글 보기