본문 바로가기
반응형

목록363

C++로 Restful서버 만들기(casablanca) 1. 셋팅 및 설치 C++로 카사블랑카(casablanca) SDK를 이용해 Restful 웹 서버를 만들어 볼까 합니다. 우선 개발 환경부터 말씀드리겠습니다. OS : Linux(Ubuntu 18.04)개발 툴 : vim컴파일러 : g++(7.4) 우선 라이브러리를 설치해야 하는데, C++의 Restful SDK를 설치해야 합니다. MS에서 현재 제공하고 있는 casablanca를 사용할 것이며, 계속해서 업데이트가 진행되고 있는 MS의 프로젝트 SDK입니다. 현재 github에 올라와 있으며 https://github.com/microsoft/cpprestsdk에서 올라와 있습니다. 설치 방법은 이렇습니다. 우선 git을 설치해야 합니다. ---------------------------------------------.. 2019. 5. 28.
C++ 템플릿 클래스 템플릿은 클래스에서도 적용이 가능 합니다. #include using namespace std; template class Calculator{ private: T x, y; public : Calculator(T n1, T n2) : x(n1), y(n2) {} T Adder(){ return x + y; } }; int main(void){ Calculator cal1(10, 20); Calculator cal2(1.5, 20.99999); cout 2019. 5. 17.
C++ 템플릿, 템플릿 함수, 함수 템플릿의 특수화.... 코딩 공부 또는 어떠한 프로젝트로 인해 코딩을 하게될 경우 하는 기능은 동일하지만, 변수의 Type 때문에 함수를 여러게 만들 경우가 있습니다. 간단한 예로 정수의 사칙연산, 실수의 사칙연산이 있겠습니다. #include using namespace std; int Adder(int x, int y){ return x + y; } double Adder(double x, double y){ return x + y; } int main(void){ cout 2019. 5. 17.
cout, cin, endl의 연산자 오버라이딩. 흔히 C++을 시작할 때 #include로 라이브러리를 읽어 옵니다. 그 중 가장 먼저 접한 것이 iostream 입니다. 이 iostream 라이브러리 에는 class ostream이 존재 하는데, 여기에는 각 쉬프트( 2019. 5. 17.
Zero-Knowledge Proof(영지식 증명)란? 영지식 증명이란 서버가 클라이언트의 정보를 모르고, 클라이언트 본인 확인을 직접적으로 하지는 않지만, 해당 클라이언트가 참 혹은 거짓을 판별할 수 있는 암호학을 말합니다. 즉, 증명과정을 들어내지도 않고, 서버에게도 아무런 정보를 주지 않지만, 자기 자신임을 증명하는 방법입니다. ????....... 무슨 말인지 모르겠다면.... 우리는 보통 자기 자신을 증명하기 위해서 공개키와 개인키를 사용합니다. 한 예로 공인인증서를 생각해 보면 쉽습니다. 은행에서는 공인인증기관(CA)라는 곳에서 인증서를 받아와 사용자들에게 전달하게 됩니다. 이때 사용자에게 주는것은 개인키+공개키(인증서 서명 포함)을 줍니다. 그래서 은행에서 공인인증서 요청을 하면 공개키와 인증서에 대한 설명등을 은행에 전달하고, 은행은 공인인증기.. 2019. 5. 4.
2019년 NDC 컨퍼런스 참가 4/25 (TUD) 19년 4/25일에 들었던 강연에 대한 후기 입니다. 이날은 비도 오고 날씨가 전반적으로 우중충 했고, 쌀쌀했습니다. 하지만 사람은 굉장히 많았습니다. 11:00에 시작한 '마이크로서비스, 운영하기 좋은 게임 백엔드로의 변화!' 라는 강연을 들었습니다. 강연의 내용을 요악하자면 요즘 개발 동향 추세가 마이크로 서비스로 전환되고 있으며, 마이크로 서비스의 장점에 대한 설명이 었습니다. 또한 CAP(Consistency, Availability, Partition Tolerance) 이 세 가지를 강조하며, 세 가지 모두 만족할 수는 없으며 하나는 포기해야 한다고 했습니다. 또한 서비스가 분산되어 있음으로 개발도 편해지고 언어에 대한 규약이 많이 사라졌으며, 자연스럽게 리눅스의 컨테이너에 대한 설명으로 이어.. 2019. 5. 4.
2019년 NDC 컨퍼런스 참가 4/24 (WED) 이번에 같이 스터디 하는 분 중에 넥슨에 다니고 계시는 분이 계셔서 초대장을 받고 NDC를 다녀왔습니다. 아트 전시회였는데, 익숙한 게임 일러스트도 있었고 처음 보는 일러스트들도 많았습니다. 게임에 굉장히 공들이고 있는 걸 느낄 수 있었습니다. 15시 20분에 진행된 '강화 학습을 이용하여 프로게이머 수준의 비무 AI 만들기'라는 강연이었는데 NC소프트의 Blade and Soul 게임의 PvP 콘텐츠에 머신러닝을 이용한 AI 대전에 대해 설명을 들었습니다. 머신러닝을 통해 학습을 진행함에 따라 점점 AI의 실력이 고도화되는 걸 알 수 있었고, 마지막에 되어선 프로게이머 수준의 컨트롤을 보여주었습니다. 오프라인 대회에서 중국, 일본, 한국 프로게이머들이 이벤트 매치로 진행되었다고 합니다. 프로게이머들은 .. 2019. 4. 30.
파일리스(Fileless) 악성코드란? Fileless malware는 E-Mail의 첨부파일, 인터넷 상에서 쉽게 다운 받을 수 있는 PDF, JPEG 등에 삽입되어 배포됩니다. 그리고 이를 다운 받은 사용자가 타겟이 됩니다. Fileless malware가 있는 프로그램을 실행시키게 되면 Drive by download 방식과 달리 하드디스크 내에 악성코드 파일을 설치하지 않고 바로 메모리에 적제 됩니다. 때문에 사용자가 눈치채기 어렵고 백신 프로그램도 바로 잡아내기 어렵습니다. 이 Fileless 공격은 Windows 도구, 특히 PowerShell과 WMI (Windows Management Instrumentation)에 접근해 실행되므로 Windows나 백신 프로그램들은 정상 실행으로 간주하게 됩니다. 요즘 백신 기술의 발달로 인해.. 2019. 4. 28.
비잔틴 장군 문제란? 비잔틴란 무엇일까요?? 비잔티움이라고도 불리우며 또는 로마 제국 이라고도 불립니다. 로마 제국은 기원전 287년에 등장한 나라로 중학교 사회시간때 공부했던걸로 기억이 납니다. 로마 제국하면 떠오르는 것이 바로 십자군 입니다. 위 사진이 바로 로마 제국이 전성기때 점령한 땅들입니다. 굉장히 넓으면서 타원식으로 둘러 싸고 있죠. 그럼 비잔틴 장군 문제란 무엇이냐? 로마 제국이 저렇게 떨어져 있다 보니, 전쟁을 할 때 통신할 수 있는 방법이 상당히 제한적이었습니다. 그러다 보니 각 지역의 장군들은 전쟁을 할 때 서신으로 전황을 주고 받았는데, 문제는 장군이 한둘이 아니라는 것에 있습니다. 여러 장군들이 서신을 주고 받고 "몇시에 어디로 집결하자" 같은 내용의 서신이 오가게 되면 문제가 발생합니다. 서신을 주고.. 2019. 4. 8.
2019-04-01 / 금융 서비스 사용자를 노린 밀웨어 '구스터프' 최근 러시아의 한 해커가 구스터프라는 밀웨어를 뿌리고 있다고 합니다. 이 구스타프는 여러 유명 은행 앱들을 사용하는 사람들만이 아니라, 32개의 암호화폐 관련 앱, 수많은 전자상거래 사이트 및 지불 서비스 등의 고객들도 노릴 수 있다고 합니다. 공격 방식은 SMS문자를 통해 전파되고 있다고 합니다. 정확히는 SMS문자에 링크가 걸려있고 이 링크를 통해 해당 밀웨어를 다운받는 형식입니다. 이 경우 검증되지 않는 소프트웨어 이기 때문에 안드로이드 같은경우 경고나 다운로드가 안되게끔 막아놓지만 많은 사용자들이 구글 스토어 외의 프로그램들을 사용하기에 이러한 경고를 무시하고 다운받는 경우가 많습니다. 이를 통해 구스터프 설치가 완료되면 구스터프를 통해 접근성 서비스를 사용함으로써 은행 앱들의 문자 필드에 값을 .. 2019. 4. 1.
2019-03-22 / APT공격 대응으로 인한 기업들의 솔루션 사용은 17%의 불과... 지란지교 시큐리티에선 2019-02-20 ~ 2019-02-28까지 공공, 교육, 의료, 일반 기업 등의 보안담당자를 상대로 설문 조사를 했습니다. 설문조사의 내용은 APT공격에 대응해 샌드박스 솔루션을 사용하고 있는지에 대한 것이었습니다. 결과는 17%만 사용을 하고 나머지는 검토중이거나, 사용을 하지 않는 것으로 나타났습니다. 샌드박스란?? 컴퓨터에서 어떠한 프로그램/코드를 실행할 때 격리된 공간(샌드박스)를 제공하고 그곳을 벗어나 허용되지 않은 작업을 하지 못하도록 방지하는 기술. 이라고 합니다. 예를들어 html에서 실행되는 javascript가 대표적이며 adobe flash도 샌드박스 형태라고 볼 수 있겠습니다. 현재 APT공격 중 가장 취약한 부분이 바로 E-Mail을 통한 공격이라고 생각됩.. 2019. 3. 22.
2019-03-21 / 페이스북 오픈소스 피즈에서 취약점 발견, 피즈란? 지난 달 페이스북 오픈소스인 피즈(Fizz)에 대한 취약점이 발견되었고, 이를 패치했다고 합니다. 피즈란???!?!?!?! 죄송합니다...... 피즈란...... C++14로 만들어진 라이브러리로 모바일 앱과 부하 분산 장치(load balancer), 내부 서비스에 이미 전부 적용되어 있으며, 하루에도 수백만 건씩 발생하는 TLS 1.3 핸드셰이크를 처리하는 기능을 가지고 있습니다. 이 라이브러리에서 발견된 취약점은 Dos 취약점으로 공격자가 악성 메시지를 TCP를 통해 피즈를 사용하는 아무 서버로 전송하게 되면, 서버에서 무한 루프가 발생하게 됩니다. 서버는 루프를 돌리느라 바뻐서 다른 사용자의 요청에 대응할 수 없게 되는 원리입니다. 이 악성 메시지의 크기는 64Kb 정도로 매우 작습니다. 이 취약.. 2019. 3. 21.
2019-03-20 / 중고나라 피싱 사이트 조심!! 이스트소프트의 이스트시큐리티에서 현재 중고나라의 피싱 사이트가 발견되고 있으니 유저들은 조심하라고 합니다. 피싱사이트는 현재 네이버의 Npay를 유도하는 수법을 가지며 실재 Npay와 똑같은 사이트가 나온다고 합니다. 또한 정보를 입력하면 해커에게 입력한 정보가 그대로 전달되게 되며 계좌 입금 또한 해커의 계좌로 송금이 된다고 합니다. [출처] https://blog.alyac.co.kr/2198?category=957259 [출처] https://blog.alyac.co.kr/2198?category=957259 위 사진들 모드 피싱 사이트 입니다. 정말 네이버 사이트와 똑같이 만들어 낸걸 알 수 있습니다. 사기범들은 Npay를 누르도록 유도를 하며 Npay링크는 카카오톡, 중고나라 사이트 게시물 등에.. 2019. 3. 20.
2019-03-19 / WinRAR버그(CVE-2018-20250) 아직까지 활발히 악용돼... WinRAR의 취약점인 CVE-2018-20250 공격이 이뤄지고 있다고 합니다. WinRAR은 쉐어웨어인 소프트 웨어로 압축 파일을 만들고 압축 파일을 풀 수 있는 소프트웨어 입니다. 이 취약점은 WinRAR 5.70 beta 1 이전 버전에 해당하는 전 버전들에 포함되는 취약점으로 문제가 되고 있습니다. WinRAR은 자동 업데이트를 지원하지 않아 사용자가 직접 홈페이지에서 새로운 패치버전을 다운받아야 하는데, 이를 귀찮고 하기 싫어해 그냥 이전 버전을 사용하는 사용자들이 많고, 이를 노린 공격이라 볼 수 있습니다. 이 공격은 WinRAR로 압축된 파일을 해제할 경우, 서드파티 라이브러리인 UNACEV2.DLL에 존재하는 “경로 조작 공격”으로 윈도우 시작폴더에 악성코드 .exe가 설치가 됩니다. 현.. 2019. 3. 19.
2019-03-18 / 온라인 쇼핑몰 플랫폼 마젠토, 취약점 발견 2019년 3월 초 온라인 쇼핑몰 플랫폼인 마젠토에서 취약점이 발견 됐다고 러시아 보안 업체인 Group-IB는 설명했습니다. 가장 놀라웠던 점은 악성코드가 딱 한줄 이었다고 합니다. 한줄의 악성 코드로 인해 사용자들의 신용카드 정보가 스니핑 되었다고 합니다. 공격당한 웹 사이트를 조사한 결과 6개의 웹 사이트가 나왔다고 합니다. 1) forshaw.com2) absolutenewyork.com3) cajungrocer.com4) getrxd.com5) jungleeny.com6) sharbor.com 이 사이트들이 공격을 당했는데 여길 이용하는 사용자 수를 합치면 35만명이나 된다고 합니다. 이 취약점은 온라인 쇼핑몰 플랫폼인 마젠토를 기반으로 만들어진 웹 페이지에서 발견 됐는데, 이 공격을 받은 웹 .. 2019. 3. 18.
728x90
반응형

스킨편집 -> html 편집에서