본문 바로가기

보안/프로그램

(9)
시큐어코딩 (JAVA) 1. 시큐어 코딩의 필수 쟁점 - 아키텍처 - 프로토콜 - 클라이언트 & 서버 언어 최근 침해사고 피해 유형을 살펴보니 1. 모바일 보안 위협 증대 3. 개인정보 유출형 해킹사고 4. 홈페이지를 통한 악성코드 유포 지속 를 살펴보면 모두 웹환경이다. 기존 소프트웨어 개발자는 하드웨어가 버틸 수 있는지에 대해 고려하며 하드웨어 중심으로 개발했다. 이후 애플리케이션 개발자는 솔루션 중심과 정해진 프로토콜을 신경썼다. 그러다 웹 환경으로 넘어오면서 지금의 환경이 오픈된 환경이라 생각하고 개발해야하는데 실제 현실은 그렇지 않다. 물론 초기에는 정보를 모두 공개하는 환경이었긴 하지만 지금은 Private이 중요해짐에따라 정보 보호도 신경써서 개발해주어야한다. 기본적으로 열려있는 공간에서 막으려면 많은 것들을 생각..
DLL을 디버깅하기 위해 필요한 프로그램 1. DebugView 코드에 다음과 같은 함수를 작성한다. void DebugLog(const char *format, ...){va_list vl;FILE *pf = NULL;char szLog[512] = {0,}; va_start(vl, format);wvsprintf(szLog, format, vl);va_end(vl); OutputDebugString(szLog);} (출처 : 리버싱 핵심 원리, redirect.cpp) DebugLog("XXX함수가 에러났어요 : %u\n", GetLastError() ); 이런식으로 에러난 부분에 로그를 출력시켜준다. 그러면 이 프로그램의 화면에 로그가 출력된다. 출처 : https://technet.microsoft.com/ko-kr/library/bb8..
PARI/GP 시험문제 1번 : PARI 프로그램의 큰 수 (Big Number)의 계산을 지원하는 프로그램을 2개이상 쓰시오. - Maple - Mathematica - NTL - Magma - FLINT 2번 : PARI 프로그램에 기본 내장되어 있는 명령어 allocatemem(N), random(N), isprime(N), factor(N)에 대해 설명하시오 - allocatemem(N) : 연산 전에 초기 메모리의 최대 크기를 설정해줄 수 있다. - random(N) : 0부터 N까지의 랜덤한 값 반환 - isprime(N) : N이 소수일 경우 1 소수가 아닐 경우 0 반환 - factor(N) : n의 인수를 구할 수 있음 3번 : PARI 프로그램에 기본 내장되어 있는 명령어 read, write에 대해 아는 대..
PARI / GP 를 사용한 빅데이터 연산 : Logistic Regression을 사용한 악성코드 분석 1. Linear Regression 란? 하나 이상의 독립변수로부터 종속변수의 값을 선형으로 모델링하는 것. 로지스틱회귀분석은 분석하고자 하는 대상들이 두 집단 혹은 그 이상의 집단(다변수 데이터)으로 나누어진 경우에 개별 관측치들이 어느 집단으로 분류될 수 있는가를 분석하고 이를 예측하는 모형을 개발하는데사용되는 대표적인 통계 알고리즘 이다. ex) X축, y축 평면이 있을 때 우리가 찾고 싶은 직선은 어느 어느 한 직선을 정했을 때 그 직선과 각 점 간의 거리의 합이 가장 짧은 직선의 방정식이다. 2. matrix 란? 유명한 영화 중에 matrix 란 영화가 있다. 이 영화 제목 matrix 의 뜻은 자궁이란 뜻과 행렬이란 뜻이 존재한다. 영화의 내용을 보면 가상세계에 들어가 목숨을 걸고 싸우는 ..
PARI / GP 를 사용한 빅데이터 연산 : RSA 암호화 및 복호화 0. 개요 RSA는 다음과 같은 순서로 암호화 및 복호화 한다. 1. 시작하기 전에 1) 단방향 연산에 대해 One-way function (단방향 연산)은 쉽다 즉 E(x) = y 일때 x가 주어졌을 때 y를 구하는것은 쉽다. 하지만 y에서 x를 구하는 것은 어렵다. 이때 어떠한 힌트을 주어서 빨리 풀 수 있으면 되는데 이 때 어떠한 힌트를 비밀키라 한다. 2) 공개키, 개인키 우리의 공개키 파일을 열어보면 n, e의 쌍을 볼 수 있다. 이 때 N의 길이는 2048이고 e의 길이는 1024이다. 3) 알아야할 수학 지식 - 페르마의 소정리 이라 할 때 페르마의 소정리는 다음과 같다. 엄청 풀기 어려운 문제를 각종 공식을 이용해 증명했다고 하는데 난 잘 모르겠다. - 인수분해 문제의 난이도와 오일러 Eu..
PARI / GP 를 사용한 빅데이터 연산 : diffie hellman key exchange PARI/GP 를 사용해 디피 헬만 키 교환 방식을 실제 연산으로 확인해 본다. 여기서 소수(prime)라는 수가 정말 중요하다.이 소수의 규칙을 찾은 사람은 아직까지 없다. 위키피디아에는 소수라는 값은 파이라는 값과 연관 있다고 나와있다. 이 파이는 원이라는 수와 연관이 있으므로 자연현상과 관련있다는 점을 알 수 있다. 1. 소수 구하기 1) isprime(양수) : 이 값이 소수인지 알 수 있다. (참 : 1 거짓 : 0 반환)2) nextprime(양수) : 어떤 수보다 크거나 같은 수 중에 가장 가까운 소수 반환 2. 랜덤한 수 구하기 1) random(양수) : 0 ~ 어떠한 수 내의 랜덤한 값 반환 이 수를 사용하여 로또 번호를 랜덤으로 뽑을 수도 있다. for(n=1, 6, print(ran..
PARI / GP 를 사용한 빅데이터 연산 : 기본 명령어 빅데이터 연산이 가능한 프로그램 중 무료로 제공하는 프로그램은 몇개 없다.그중 PARI/GP는 대표적인 프로그램이다. http://pari.math.u-bordeaux.fr/download.html 다음의 링크에서 다운받을 수 있다. 현재 리눅스, 안드로이드. 윈도우즈 용이 배포되고 있는 중이다. 다운받고 설치를 완료한뒤 C:\Program Files (x86)\Pari-2-7-3 경로 내에 있는 GP.exe 를 실행시킨다. 처음 실행시키면 사용자 이름이 GP로 설정되어있을 것이다.다음과 같이 자신의 이름이나 특정 이름으로 변경하도록 한다.아래 그림은 GP를 americanoJH로 변경한 화면이다. 폴더 내에 있는 gprc.txt 파일을 실행시킨다. 해당 부분을 바꿔주면 된다. 이 파일의 변경을 통해 화..
wbin 윈도우즈에서 리눅스프로그램을 사용하자.!! ls cd 이런명령어가 익숙할 때가 있다.dir을 자꾸까먹고..그럴때 wbin을 갖다쓰자.환경변수 설정하고 하면 굉장히 편하게 갖다쓸수있다.