%EB%B3%B4%EC%95%88

2022-08-16
마이크로서비스 아키텍처가 많이 보급 되면서 클라이언트와 서버 간의 인증 상태를 유지하는 기존의 전통적인 서버 세션 방식과는 다른  클라이드 사이드 세션인 JWT(JSON Web Token) 방식이 많이 활용되고 있습니다. 필자도 처음에는 "마이크로 서비스에서는 인증은 주로 JWT를 사용한다" 라는 의견에 공감하면서 그냥 생각없이 사용하고 있었는데 한번은 정리해야 할 필요성을 느껴 정리해볼까 합니다. 이번글에서는 기존의 세션 방식과 JWT Token 방식은 어떤  차이가 있으며 마이크로 서비스에서는 왜 JWT가 사용되는지, 보안적으로는 어떤 고려할 사항들은 어떤 것들이 있는지 알아 보겠습니다....
2022-05-15
빅데이터가 대세 키워드였던 몇 년 전까지만 해도 하둡 등의 인프라가 모든 것을 해결해줄 듯한 분위기였다면, 알파고 이후엔 수학 및 통계학, 그리고 그런 지식에 기반한 모델링 능력이 필수 자질로 꼽히는 세상이 되었다. 광고, 추천, 번역, 금융 등 많은 분야에서 그런 자질을 요구한다. 열거한 분야들의 공통점은 최종 목적이 결국 돈이라는 것. 돈을 벌기 위해서는 사람의 심리나 행동을 예측해야 한다. 절대 쉽지 않은 작업. 아마 작두 타는 수준의 분석 능력이 필요할 것이다. 복잡한 수학/통계 지식의 필요성에 수긍이 가는 대목....
2021-07-04
다음은 root 사용자의 IP별 접속 현황. 5월 14~16일 및 6월 12일의 IP 변화가 눈에 띈다. 그런데 사용자가 많다면 사용자별 접속 IP의 변화 확인이 꽤 까다로울 것이다. 더 직관적인, 한 눈에 IP 변화를 알아차릴 수 있는 차트를 그릴 수는 없을까? 다음은 root 사용자의 IP 고유 개수 변화. 6월 12일의 변화는 뚜렷한데, 5월 14~16일의 변화는 보이지 않는다. 해당 시점의 접속 IP가 평소와 다른 건 맞지만 유형은 하나뿐이니 당연한 결과. IP 변화를 숫자 변화로 이상징후 분석은 통계 분석의 다른 말이고, 결국 특정 상태의 숫자 변화를 추적하는 과정. 마침 IP는 숫자로도 표현할 수 있다. 8bit 단위로 나눈 IP를 순서대로 256...
2020-11-16
단순 카운트 변화 추이는 로그의 상태를 정확히 표현하지 못한다. 다양한 상태 정보가 섞여 있는 상태에서 개수의 변화가 어떤 상태를 특정하는지 알기 힘들다는 얘기. count 추이(12~25일) 그래서 강조하는 게 상태별 고유성 확보를 통한 데이터 해상도 변경 및 다양한 Metric 활용. 카운트 추이로는 알 수 없었던 19일의 상태 변화가 해상도 및 Metric 변경을 통해 드러난다. URL 고유 개수 백분위 90% 의 변수 길이 이런 결과를 얻기 위해 데이터를 분류하고, 고유성을 확보하고, 효과적인 지표를 개발하는 데 많은 시간을 투자한다. 그러나 그런 노력을 들이고도 정작 쌓인 데이터를 분석하지 않는다면 모든 노력은 물거품이 되고 만다. 반면 정말 단순하게 로그 개수만 센다 해도 매일, 매 시간, 매 분 데이터의 변화를 궁금해한다면 그 데이터에서 의미를 찾아낼 수 있다....
2020-08-08
소프트웨어 세상에서 제발 건설식  비유가 사라지면 좋겠습니다. 건설업은 시설을 중심에 놓고, 사람을 부품으로 사용하는 생산체계입니다. 매번 맨땅에서부터 시작해야 하니 그런게 이해됩니다. 하지만, 소프트웨어 세상에선 그런걸 잘했다고 돈을 더벌진 않죠. 그냥 잘팔리는 제품을 만들어야 합니다. 즉, 소프트웨어 세계에선 사람이 비용이 아니라 투자대상입니다. IT 분야에서 남다른 통찰력을 보여주는 김수보님의 최근 글. IT 환경과 함께 변해온 개발 문화/방법론 및 변화 배경을 읽을 수 있다. 정말 오래된, 개발 분야에 건설 방법론을 적용하지 말자는 떡밥인데 개인적으로 해결책은 간단하다고 생각한다. 글 안에 답이 있다....
2020-05-14
엘라스틱 머신러닝이 7.6 버전부터 지도학습 (supervised learning) 을 지원한다. 얼마나 잘 동작하는지 IDS 로그에 적용해보자. 다음 글을 참고했다. 새로 나온 이 영화 재미있을까? 학습 데이터는 1로 라벨링된 887개의 정탐과 0으로 라벨링된 6,700여 개의 오탐이 섞인 제일 만만한 sql injection 탐지 로그. 정탐 오탐 모델 학습 학습 데이터를 sqland-learning이란 인덱스에 저장 후, Machine Learning > Data Frame Analysis > Create analytics job 메뉴 클릭. ① 작업 유형은 classification...
2019-11-18
웹 요청 트래픽에는 useragent라는 웹 요청을 시도할 때 사용된 도구에 대한 정보가 있다. 이걸 분석해보겠다고 예전엔 정규표현식으로 웹 로그의 useragent 문자열을 추출한 후, 유형과 운영체제 등을 일일이 분류하는 노가다를 했었는데(..) 그런데 이걸 자동으로 분석해주는 useragent 라는 필터 플러그인을 엘라스틱이 제공한다. 다음은 샘플 로그. 다음은 로그스태시 파이프라인 설정. useragent 분석 결과 필드가 너무 많아서 name 하나만 남겨 두고 remove_field 옵션으로 다 지웠다....
2019-10-03
다음은 'failed login' 메시지 조건을 이용한 로컬 로그인 실패 발생 추이. 'failed login' 메시지와 로그인 실패 발생은 양의 상관관계를 갖는다. 상관분석 사례는 없냐는 질문을 받았다. 네? 지금 하고 있는데요 담배 타임 때 슬쩍 물어봤다. 어떻게 하는 게 상관분석일까요? 로그를 2개 이상 묶어야 상관분석이라고. 사례도 하나 알려 주신다. ID나 PASSWORD 또는 금융정보 관련 문자열을 IDS로 탐지한 후, (탐지했지만 믿을 수 없어서) 별도로 수집된 트래픽 뒤져서 실제 정보 유출 여부를 판단하는 상관분석을 하고 있다고. [caption id="attachment_24208" align="aligncenter" width="530"]...
2019-06-16
얼마 전 신규 보안 제품 활용 교육 의뢰가 있었다. 엘라스틱 기반으로 개발했다는 설명을 듣고 어렵지 않겠다 싶어 수락. 그런데 제품을 살펴보니 데이터 집계 유형이 'Count' 밖에 없네? [caption id="attachment_22554" align="aligncenter" width="530"] 엘라스틱의 다양한 메트릭 유형들[/caption] 같은 데이터를, 형태를 바꿔가며 다양하게 바라보는 과정을 거치면 자연스럽게 데이터에 대한 이해도를 높일 수 있다. [caption id="attachment_22555" align="aligncenter" width="530"] 응답코드 500 상태의 개수 변화[/caption] 응답코드 500 상태의 로그 Count와 변수 길이에 대한 Sum 메트릭의 변화는 어떤 차이를 말해주는 것일까? [caption id="attachment_22556" align="aligncenter" width="530"]...
2019-03-10
인터넷 끊으면 됨. 피싱이고 APT고 랜섬웨어고 뭐고 다 인터넷만 끊으면 걱정 끝. 이후엔 톰아저씨만 조심하며 된다. 진짜로(..) [caption id="attachment_21035" align="aligncenter" width="600"] 인터넷 끊겨서 직접 왔어[/caption] 피싱 등으로 직원 PC가 털린 후 고객정보 유출로 이어진 동종 업계 사례 때문에 고민인 분을 만났다. 근데 이분 본업은 DBA라고.-_- [caption id="attachment_21036" align="aligncenter" width="600"] 내가 보안담당자라니[/caption] 내부에서 간단하게 위험을 모니터링할 수 있는 방법을 알려달라고 하는데, 네트워크 통신량같은 거 보는 게 간단하겠지만 정보유출 때문에 통신량이 늘었다면 이미 털린 후. 더 정밀한 사전징후 포착을 원한다면 (모니터링 대상은 대부분 윈도우 PC일테니) 방법은 이벤트 로그를 뒤지는 건데, 그게 간단했으면 고민일리가 없지. 어찌어찌 로그 모니터링 체계를 갖추더라도 그 모니터링 제대로 해보자 마음 먹는 순간, DBA 업무는 바이바이(..) 결국 그분 입장에서 가장 간편한 해결책은 망분리라 ...
더보기