-
이벤트
(당첨자 발표) 최고의 고객, 최고의 임직원
-
- 20.12.24
-
IT·보안
기업의 데이터를 위협하는 랜섬웨어
2020년은 코로나바이러스감염증으로 인한 경제 혼란과 함께 기업의 디지털 전환 수요가 늘어나면서 데이터 침해, 대량 데이터 도용 및 판매, 신원 도용, 랜섬웨어 등 지금까지와는 다른 새로운 유형 또는 진화된 보안 위협이 빠르게 확산되고 있어 기업들의 주의가 요구되고 있습니다. 2020년 전 세계적으로 비즈니스에 가장 큰 위협을 주는 대표적인 사이버 위협은 랜섬웨어와 랜섬 DDoS 공격으로 집계되고 있습니다.(보안뉴스) 2020년의 가장 큰 사이버 위협은 압도적으로 랜섬웨어(보안뉴스) 2021년 보안 이슈 전망 TOP 5 “재택근무·5G 노리는 랜섬웨어·APT 조직”(FORTINET BLOG) New Cybersecurity Threat Predictions for 2021랜섬웨어란 Ransom(몸값)과 Ware(제품)의 합성어로 랜섬웨어는 PC 또는 서버, 네트워크에 이르기까지 모든 파일과 문서를 암호화하는 악성 소프트웨어(Malware)로 과거에는 데이터를 암호화하고, 금전을 요구하는 형태였지만 현재는 소프트웨어 악용 및 결함, 노출된 패스워드 및 취약점을 이용하여 계정 탈취 및 권한을 상승하고 민감정보 및 주요 문서 탐색 및 탈취 등 암호화를 하기 전에 최대한 많은 정보를 취득하고 암호화하여 기업의 데이터를 인질로 잡아 기업 또는 개인에게 금전적인 협상을 요구하고 때로는 탈취한 데이터를 웹사이트(다크 웹[Dark Web])에 노출시키기도 합니다.일반적으로 랜섬웨어에 감염되면 리소스 사용량이 급증하면서 파일을 암호화하기 때문에 랜섬웨어 감염을 쉽게 의심해 볼 수 있지만 종류에 따라 일정한 간격으로 스케쥴링되어 암호화하는 경우도 있어 사용자가 쉽게 알지 못하는 경우도 발생합니다.최초의 랜섬웨어는 AIDS 트로이 목마(PC 사이보그 바이러스)로 알려져 있으며 1989년 세계 보건기구 (WHO)의 AIDS 컨퍼런스 참석자들에게 20,000 개의 감염된 디스크를 나눠준 생물 학자 Joseph Popp에 의해 만들어졌습니다. 이 랜섬웨어(AIDS 트로이 목마)는 PC가 부팅된 횟수를 계산하여 90이 되면 컴퓨터와 파일을 암호화하고 우체국에 $ 189 또는 $ 378을 보내도록 하여 '라이선스 갱신'을 요구했습니다.그로부터 30여 년이 지난 지금 랜섬웨어는 더욱더 진화하였으며 교묘해졌습니다. 우리는 과거의 사례를 통하여 랜섬웨어가 기업과 우리의 생활에 얼마나 많은 악영향을 끼치고 있고 얼마나 심각한지에 대해 확인해 볼 수 있습니다.Locky는 한때 가장 악명 높은 형태의 랜섬웨어로 2016년 내내 전 세계의 조직들에게 혼란을 주었으며, Locky는 탐지를 피하기 위해 정기적으로 코드를 업데이트하였고 30개의 언어로 금전 지불을 요구 하였으며, 가장 널리 퍼진 악성 코드 형태 중 하나였으나, 1년이 채 지나지 않아 사라진 것으로 보고 있습니다.Cerber는 2017년 4월 Windows에 대한 랜섬웨어 공격의 90%를 차지할 만큼 가장 지배적인 형태의 랜섬웨어 였습니다. Cerber는 ‘Ransomware-as-a-Service’로 배포되어 기술적 노하우가 없는 사용자가 공격을 수행하고 일부 수익을 원작자에게 돌려주는 대가로 배포되는 랜섬웨어로 2017년 말 사라진 것처럼 보였지만 오늘날 다양한 형태의 'ransomware-as-a-service’ 모델로 발전되고 있습니다.SamSam는 2017년과 2018년 전 세계적으로 악명을 떨쳤던 랜섬웨어로 의료, 정부, 기업 등을 마비 시켰으며, 미국을 중심으로 하여 전 세계를 위협한 랜섬웨어로 네트워크에 대한 접근 권한 및 데이터 복호화에 대한 비용으로 수만 달러를 요구하였습니다.WannaCry는 ‘Wannacrypt’라고도 불리며 Microsoft Windows를 사용하는 컴퓨터를 타깃으로 합니다. 2017년 5월 전 세계적으로 큰 혼란을 일으키기도 했으며 암호화된 데이터를 복호화하기 위해서는 $300의 비트코인을 요구하였고, 일주일 이내에 지불하지 않으면 모든 파일을 영구적으로 삭제한다고 위협하였습니다.WannaCry는 150개 이상의 국가에서 30만 개의 시스템을 감연 시켰고 네트워크를 무력화시켰습니다. 가장 큰 타격을 입은 러시아는 은행, 통신사, 국가 교통 시스템이 마비되었으며, 영국은 영국 전역의 의료 시스템이 마비되었고, 국내에서는 2017년 8월 LG전자의 키오스에서 WannaCry가 발견되어 네트워크 일부가 마비되었습니다.Sodinokibi는 GandCrab 조직과 제휴하거나 동일한 조직으로 예측되고 있으며, 2019년 4월 처음 등장 후 전 세계적으로 최다 유포된 랜섬웨어로 서비스형 랜섬웨어(Ransomware-as-a-Service)로 운영되고 있습니다.Sodinokibi 주로 메일의 첨부파일을 이용하거나 홈페이지 탈취 후 특정 링크를 통해 파일을 다운로드하게 하여 감염시키며 Maze, Doppelpaymer 및 Ragnarlocker와 같은 랜섬웨어 조직들처럼 피해자가 금전을 지불하지 않으면 탈취한 데이터를 다크 웹에 노출 시키겠다고 협박하며, 2020년 6월 시만텍 연구원들은 REvil ransomware (Sodinokibi) 운영자가 피해자 네트워크에서 신용카드 또는 POS(Point of Sale) 시스템을 탐색하기 시작했다고 밝히기도 했습니다. 2020년 랜섬웨어로 인한 데이터 유출 사례 (보안뉴스) 메이즈 랜섬웨어의 승승장구! 반도체 업체도 당해 (ZDnet) LG전자 데이터 유출..."기밀·개인정보 없어" (뉴스워치) “랜섬웨어 통해 유출당한 카드정보 실체는?”…이랜드, 탈취 데이터 ‘다크웹’ 공개에 바로 신고새로운 또는 변종 랜섬웨어는 지속적으로 생성 되고 있으며, 전 세계 보안 전문 기업들은 2021년에도 랜섬웨어에 의한 공격과 감염이 증가하고 금전적 손해 또한 클 것으로 예측 하였습니다. 또한 과거 해커들은 대기업을 타깃으로 하는 경우가 많았지만 현재는 보안에 다소 취약한 중소기업을 중심으로도 많은 공격과 감염이 이루어지고 있습니다.그렇기 때문에 대기업, 중소기업뿐만 아니라 개인 PC까지도 랜섬웨어 예방을 위해 노력해야 하며, 랜섬웨어에 대한 피해 발생 시 행동 요령은 [KISA 인터넷보호나라 & 랜섬웨어 복구 및 대응 방법]에 자세히 나와 있으며, 보호나라에서는 중소기업을 위한 ‘정보보호 컨설팅 지원 및 중소기업 홈페이지 보안 강화’ 등을 지원 하고 있습니다.만약 랜섬웨어에 의해 데이터가 탈취 되더라도, 데이터베이스의 데이터 및 저장소에 저장된 파일을 암호화 한다면 유출이 되더라도 피해는 최소화할 수 있으며, 최근 신시웨이는 GS 인증 및 국제 CC 인증을 획득함으로써 암호화 기술을 인정받았으며 해외 레퍼런스 또한 지속 확장해 나아가고 있습니다.출처 및 참고자료What is ransomware? Everything you need to know about one of the biggest menaces on the web WannaCry ransomware attack at LG Electronics takes systems offline Sodinokibi: Ransomware Attackers also Scanning for PoS Software, Leveraging Cobalt StrikeKISA 인터넷 보호나라&KrCERT
-
- 20.12.23
-
IT·보안
개정된 데이터 3법
데이터 3법은 데이터 이용을 활성화하는 「개인정보 보호법」,「정보통신망 이용촉진 및 정보보호 등에 관한 법률(정보통신망법)」, 「신용정보의 이용 및 보호에 관한 법률(신용정보법)」 3가지 법률을 통칭하며, 18년 11월 15일 인공지능(AI), 인터넷기반 정보통신 자원통합(클라우드), 사물인터넷(IoT) 등 신기술을 활용한 데이터 활용 등 데이터 이용에 관한 규제 혁신과 개인정보 보호 협치(거너번스) 체계 정비의 문제를 해결하기 위해 데이터 3법 개정안이 발의 되었으며, 2020년 1월 9일 국회 본회의를 통과 하였다.데이터 3법 주요 개정 내용• 데이터 이용 활성화를 위한 가명정보 개념 도입• 관련 법률의 유사·중복 규정을 정비하고 추진체계를 일원화 하는 등 개인정보 보호 협치(거버넌스) 체계의 효율화• 데이터 활용에 따른 개인정보 처리자의 책임 강화 및 모호한 ‘개인정보’ 판단 기준의 명확화온라인상 개인정보 보호 관련 규제, 개인정보의 오·남용과 유출 등을 감독할 감독기구• 개인정보의 오·남용과 유출 등을 개인정보보호위원회에서 감독• 관련 법률의 유사·중복 규정은 「개인정보 보호법」으로 일원화• 개인정보처리자의 책임성을 강화하기 위해 각종 의무를 부과하고, 법 위반 시 과징금 도입 등 처벌 강화 • 개인정보를 안전하게 보호할 수 있도록 제도적 장치 마련• 2020년 9월 24일, ‘가명정보 결합 가이드라인‘ 발표 (가명정보 사용이 허용되는 활용 목적과 범위, 개인정보처리자들이 적용해야 하는 안전조치 방법과 기준 등을 규정)데이터 3법 개정의 기대효과개정된 데이터 3법은 데이터가 전(全)사업의 가치 창출을 좌우하는 ‘데이터 경제 시대‘ 전환에 맞춰 금융산업 새로운 성장동력을 확보 하고EU GDPR 등 국제적 데이터 법제와의 정합성 제고로 전세계 데이터 경쟁에 참여할 수 있는 기반을 마련 하였으며, 데이터라는 자원이 개인정보를 최대한 침해하지 않으면서도 기업들이 기술 발전에 이용할 수 있음을 기대하고 있습니다.데이터 활용의 기본, 비식별화비식별 조치는 데이터 셋에서 개인을 식별할 수 있는 요소 전부 또는 일부를 삭제하거나 대체하는 방법을 활용 하여 개인을 알아볼 수 없도록 하는 것으로 비식별화 조치시에는 다른 정보와 쉽게 결합해 개인을 식별할 수 있는지를 검사하는 ‘비식별 조치 적정성 평가’를 함께 진행해야 합니다.가명정보, 익명정보 개념누군가를 특정할 수 있는 이름, 전화번호를 식별자라고 부르며, 개인정보에서 식별자를 다른 표현으로 바꾸거나 가린 것을 가명정보라 하며, 익명정보는 여기서 한층 더 나아가 식별자를 완전히 삭제하고, 생년월일이나 가입기간 등 준식별자에 해당하는 정보를 범주화해 누구인지 정확하게 특정할 수 없도록 처리하는 것을 말합니다.빅데이터 산업 활성화와 데이터를 활용한 경제적 가치를 만들기 위해서는 개인정보를 포함한 모든 데이터를 적극적으로 활용하는 것이 유리하며, 데이터 경제 활성화를 위해서는 익명정보보다 가명정보가 더 효과적입니다.그러나 정보를 지나치게 많이 남길 경우 개인정보보호와 관련한 문제가 생길 수 있으며, 반대로 많이 제거할 경우 기업 입장에서는 활용 가치가 떨어집니다. 가명처리 대상 또는 범위에 대한 절대적 기준을 설정하는 것은 기술적으로 쉽지 않은데요, 가명정보는 개인정보와 익명정보의 중간쯤 되는 단계입니다.가명정보 이용 목적개인정보처리자는 통계작성,과학적 연구,공익적 기록보존 등의 목적 내에서만 정보 주체 동의 없이 가명정보 처리 및 결합이 허용 되며, 가명정보를 처리할 때 원래 상태로 복원하기 위한 추가정보를 별도로 분리해 관리해야 합니다. 만약 관련 법령에 따른 보호조치를 적용하지 않는다면 처벌받을 수 있습니다.※ 적절하게 가명정보를 처리하지 않았을 경우에는 전체 매출액의 3% 이하 또는 4억 원의 과징금, 5년 이하의 징역 또는 5천만 원 이하의 벌금에 처해질 수 있습니다. 가명 처리 절차개인정보처리자는 통계작성, 과학적 연구, 공익적 기록보존 등의 목적 내에서만 정보 주체 동의 없이 가명정보 처리 및 결합을 허용하며, 가명처리 대상 또는 범위에 대한 절대적 기준을 설정하는 것은 기술적으로 쉽지 않습니다.가명정보 결합 사례QR 코드 기반의 전자출입명부(KI-Pass)* 활용 사례2020년 6월부터 도입 되었으며, 개인정보보호를 위해 전자출입명부에 입력되는 개인 연락처 데이터와 방문 기록은 평상시에 분산 보관되고, 필요한 경우에만 두 정보를 결합하여 개인을 식별한다는 점에 주목할 필요가 있으며, 사회보장정보원과 QR코드 발급회사가 각각이 가지고 있는 정보만으로는 개인의 동선 정보 확인이 불가능합니다.※ 전자출입명부(KI-Pass): 정부기술(IT)을 활용, QR코드에 기반하여 보건복지부에서 개발·배포한 『전자출입명부』 시스템 지칭. 개인을 확인할 수 있는 정확한 정보QR 코드 기반의 전자출입명부(KI-Pass)* 활용 사례출처 및 참고자료가명정보 처리 가이드라인 (2020. 09. 24)개인정보 비식별화에 대한 적정성 자율평가 안내서 (2014. 12)금융분야 가명 · 익명처리 안내서 (2020. 08. 08)전자출입명부(KI-Pass) 안내 – 지자체용 – (2020. 07)코로나 19 대응을 위한 데이터 활용 현황 및 사례 (2020. 08)암호 알고리즘 및 키 길이 이용 안내서 (2018. 12)개인정보보호위원회 비전 선포식(2020.11.27.) https://www.youtube.com/watch?v=9BWrJyNE0BE&feature=youtu.be가명정보의 결합 및 반출 등에 관한 고시(개인정보보호위원회고시)(제2020-9호)(20200901)굿모닝아이텍㈜ 웨비나_데이터 3법이 가져다 준 기회와 안전한 개인정보 활용 방안Vol.5_가명정보에 있어서 ‘다른 정보’와 ‘추가 정보’의 차이 및 가명처리의 대상과 범위글. 프리세일즈·마케팅팀 | 김지현
-
- 20.12.10
-
이벤트
2020' 나에게 최고의 고객! 최고의 직원(동료)를 알려주세요
* 고객사 담당자와 신시웨이 직원을 추천해 주세요 *ex) - A증권 담당자 : B 엔지니어를 추천 합니다.- 신시웨이 A 직원 : 신시웨이 C 직원을 추천 합니다. - 신시웨이 A 직원 : D은행 정보보안팀 E 담당자를 추천 합니다.- 응모 방법 : 본 글 하단 비공개 댓글 응모(이름, 소속, 연락처, 추천인, 추천 사유 )* 입력하신 개인정보는 상품 발송외 목적으로 사용되지 않습니다. - 이벤트 기간 : 20. 12. 10 - 20. 12. 20- 당선작 발표 : 20. 12. 24(예정)
-
- 20.12.10
-
신시스토리
SINSIWAY News 2020. Nov. - Dec.
COVID-19 확산 방지에 따른 재택근무 시작신시웨이는 20년 11월 23일 부터 코로나-19 감염병 확산 방지와 임직원 및 고객사의 안전을 위해 전 직원 재택근무를 실시 중에 있으며, 정부 정책과 현 상황에 따라 매주 금요일 재택근무 연장 여부를 결정 하고 있다. 또한, 기술지원 엔지니어의 경우 다양한 환경의 고객사를 방문하여 지원하기 때문에 감염병 노출에 취약하므로, 방문 지원보다는 원격 지원 등의 비대면 지원을 권고하고 있다. 기술 직군(연구/개발, 기술지원) 공개 채용신시웨이는 11월 17일 부터 11월 29일까지 기술 직군(Developer, Solution Engineer, QA)에 대해 2021년 신입사원 공개 채용을 실시하였다. 이번 공채 채용에는 150여 명의 신입사원이 지원하였으며, 최종 합격자는 소정의 입사 직무 교육 수료 후 교육 역량 등을 평가하여 모집 부문에 해당하는 부서에 배치될 예정이다. 면접 일정은 다음과 같다.12.15(화) 비대면 온라인 면접(팀장급 실무자)12.22(화) 1차 합격자 비대면 온라인 면접(임원)12.24(목) 최종 합격자 발표 예정 2020년 임원 워크샵 개최12월 16일 신시웨이 제주 R&D센터에서 '2020년도 하반기 임원 워크숍'을 진행할 예정이다. 이번 워크샵은 2021년도 사업 전략과 제품 경쟁력 강화 방안 등을 논의할 예정이다. 또한, 매년 진행 하였던 임직원 송년회 행사는 감염증 확산을 방지 하기 위해 별도로 진행하지 않을 예정이다. 특허 출원지난 11월 18일 '데이터베이스에 저장된 데이터에 대한 접근 제어를 위한 서비스 제공 시스템 및 방법'(출원번호 : 10-2020-0154627)에 대한 특허를 출원 하였다.이번 출원은 DB 서버에 요청한 데이터가 사용자(클라이언트)에게 수신된 상태에서도 사용자의 이용 권한에 따라 요청 데이터에 대한 사용자의 접근 제어(데이터 추척 및 관리)가 이루어지도록 지원하여 DB 서버에 저장된 보안이 필요한 데이터의 유출을 방지하여 DB 서버에 저장된 데이터에 대한 보안성을 높이는데 그 목적이 있다.
-
- 20.12.09
-
IT·보안
문자열 처리 함수 strstr, strcasecmp Tip
C/C++ 개발을 하면서 문자열 처리 함수를 사용할 때 원치 않는 결과를 얻는 경우가 있습니다. 이러한 데에는 여러 가지 상황이 있지만 가장 많이 범할 수 있는 상황은 고려하지 않았던 상황이 발생한 경우와 함수 내부 동작을 정확히 알지 못하는 경우에 문제가 발생합니다.후자의 한 가지 예로 strcasecmp 함수를 들 수 있습니다. 이 함수의 내부 동작을 정확히 아는 개발자가 많지는 않을 것입니다. “_”(95)와 “A”(65) 두 문자열을 strcasecmp로 비교하면 어느 문자열이 크다고 나오는지 아시나요? 대부분의 개발자들은 아스키코드 표에 따라 “_”가 “A” 보다 크다고 이야기하겠지만 결과는 반대입니다.strstr : 스트링 안에서 원하는 스트링을 찾는 함수strcasecmp : 비교할 스트링들의 알파벳을 소문자로 변환하여 문자열 비교하는 함수example 1. strstr로 IP 리스트에서 IP를 제대로 찾아오지 못하는 문제.[ 실행결과 ]192.168.10.40위와 같은 경우 찾고자 하는 IP는 192.168.10.4인데, 192.168.10.40를 리턴합니다. 원인은 ip의 길이와 상관없이 문자열을 찾은 것입니다. 이런 케이스에서 원하는 결과를 얻기 위해서는 문자열 길이까지 함께 비교해줘야 합니다. 이러한 문제를 해결하기 위해서는 길이까지 비교하도록 조건을 추가하면 정확한 값을 얻을 수 있습니다.example 1. 대문자로 정렬된 스트링 배열에서 bsearch시 strcasecmp로 키워드를 못 찾는 문제[ 실행 결과 ]input : d_ | find: null실행 결과를 보면 “D_”를 찾아야 하는데 찾지 못합니다. 문제의 원인은 strcasecmp를 사용한 것입니다. strcasecmp는 비교할 문자열들을 소문자로 변환 후 비교합니다. 이때 알파벳만 소문자로 변환하기 때문에 문제가 발생한 것입니다. ‘_’의 아스키코드(95)는 ‘I’의 아스키코드(73) 값보다 큽니다. ‘I’를 소문자로 변경하면 ‘I’는 ‘i’(105)가 되어 ‘_’보다 큰 값이 됩니다. 결론적으로 input값 “_d”로 bsearch를 수행했을 때 “_D”를 찾아야 되는데 찾지 못하게 되는 것입니다. strcasecmp는 소문자로 변환해서 대소 비교하기 때문에 알파벳이 아닌 기호들은 소문자로 변경하면서 본의 아니게 알파벳보다 값이 커지는 경우가 있어 발생한 문제입니다.이러한 경우에는 대문자로 이뤄진 스트링 배열에서 bsearch로 찾을 때 찾고자 하는 값을 대문자로 변경 후 strcmp로 비교하면 됩니다. 글. 기술연구소 | 윤 건
-
- 20.12.08
-
IT·보안
암호화 패딩(Padding) & Base64 Encoding
블록암호화(CBC, ECB, CFB, OFB)는 평문에 연속되는 Key Stream을 적용하여 1bit씩 암호화하는 스트림 암호화와 달리 블록 단위로 암호화가 이뤄지게 된다. 블록 암호화에는 CBC, ECB, CFB, OFB 모드가 있고 이때 CFB, OFB는 블록 암호화를 스트림 암호화처럼 구성해 평문과 암호문의 길이가 같기 때문에 패딩이 필요 없지만, CBC, ECB는 암호문이 블록의 배수가 되기 때문에 복호화 후 평문을 알기 위해서 Padding을 사용해야 한다. 즉, 패딩(padding)이란 암호화 하고자 하는 데이터가 블록의 길이보다 부족할 경우 패딩을 사용하여 완전한 블록단위로 만들어준 후 암호화를 해야 한다는 것이다.테스트 결과에서 보이듯 OFB모드에서는 원본 데이터와 암호화 데이터 길이가 같기 때문에 패딩이 필요 없으나 CBC모드는 블록의 배수가 되기 때문에 패딩이 필요한 것을 확인할 수 있다.패딩(Padding)의 종류제로 패딩(Zero Padding, Null Padding)패딩이 필요한 부분을 0으로 채우는 방식이며 메시지 끝 부분에 0이 포함되어 있을 경우 어디까지가 데이터이고 어디까지가 패딩인지 구분이 되지 않기 때문에 보통 사용되지는 않는다.Petra Cipher의 Zero Padding 처리 방법 - enc[일반 데이터 + Zero Padding] + trailer - trailer에는 일반 데이터의 Length 정보가 들어가 있다. - 데이터의 Legnth 정보가 들어가 있는 이유는 일반 데이터의 제일 마지막 데이터가 ‘0’인 경우를 고려하여 Trailer를 붙인 것이다.비트 패딩(Bit Padding)패딩이 필요한 부분은 0으로 채우되, 최상위 비트는 1로 채우는 방식이며 최상위 바이트는 16진수로 80이 된다.(2진수로는 1000 0000)즉, 맨뒤에서부터 앞으로 오면서 1이 나올 때 까지를 패딩으로 구분하며 메시지 길이가 블록 크기의 배수여서 패딩이 필요하지 않은 경우에는, 메시지의 일부를 패딩으로 판단하게 된다. 위와 같은 문제는 패딩을 위한 하나의 블록을 둠으로써 해결할 수 있으나, 최악의 경우 expansion ratio가 2가 된다.(하나의 블록 크기의 메시지를 보내기 위해서 하나의 블록 크기의 패딩을 붙여야 한다.)8byte 기준으로 사용을 하며 평문이 블록 크기의 배수가 되지 못하면 필요한 바이트 값만큼 부족한 부분을 채운다.[PKCS5 패딩(PKCS5 Padding) = 8byte 기준](데이터가 5byte 및 4byte인 경우)(데이터가 8byte인 경우)16byte 기준으로 사용을 하며 평문이 블록 크기의 배수가 되지 못하면 필요한 바이트 값만큼 부족한 부분을 채운다.[PKCS7 패딩(PKCS7 Padding) = 16byte 기준](데이터가 10byte인 경우)(데이터가 16byte인 경우)인코딩(Encoding)인코딩(Encoding)은 정보의 형태나 형식을 표준화, 보안, 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태나 형식으로 변환하는 처리 혹은 그 처리 방식을 말한다.Base64란 Binary Data를 Text로 바꾸는 Encoding(binary-to-text encoding schemes)의 하나로써 BinaryData를 Character set에 영향을 받지 않는 공통 ASCII 영역의 문자로만 이루어진 문자열로 바꾸는 Encoding이다.Base64를 글자 그대로 직역하면 64진법이라는 뜻이다. 64진법은 컴퓨터한테 특별한데 그 이유는 64가 2의 제곱수 64=2^6이며 2의 제곱수에 기반한 진법 중 화면에 표시되는 ASCII 문자들로 표시할 수 있는 가장 큰 진법이기 때문이다.(ASCII에는 제어 문자가 다수 포함되어 있기 때문에 화면에 표시되는 ASCII문자는 128개가 되지 않는다.) 변경하는 방식을 간략하게 설명하면 Binary Data를 6bit씩 자른 뒤 6bit에 해당하는 문자를 아래 Base64 색인표에서 찾아 치환한다.(실제로는 Padding을 더해주는 과정이 추가된다.)Base64 Encoding 특징· 2진 데이터를 ASCII 형태의 텍스트로 표현 가능하다.· Web 인증 중 기본 인증에 사용한다.· 끝부분의 padding(==) 식별 가능하다.· 64개의 문자 영문 대(26), 영문 소(26), 숫자(10),+,- 를 사용한다.단, 000000이 A로 변한다. 기본 원리는 간단한다. 문자열 -> ASCII binary -> 6bit Cut -> base64 encoding 방식으로 진행이 된다. 그러나 한 가지 문제가 있다. 모든 문자열이 3개씩 남김 없이 끊어지진 않는다는 것이다. 그래서 Padding을 사용하여 빈자리를 채운 후 인코딩을 하게 된다.참고자료· 해쉬넷(블록암호) : http://wiki.hash.kr/index.php/블록암호· 위키피디아(Padding) : https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation https://en.wikipedia.org/wiki/Padding_(cryptography)#Bit_padding· 위키피디아(Base64) : https://en.wikipedia.org/wiki/Base64글. 기술지원 2팀 | 정종찬
-
- 20.12.07
-
IT·보안
Java Object to CSV
Jackson 라이브러리를 사용하면 자바 객체에 담긴 내용을 Json 뿐만 아니라 CSV(Comma-Separated Values)로도 전환 할 수 있습니다. CSV는 엑셀로 파일을 바로 열어보려는 요구에서 주로 사용 되는데 자바 객체에 담긴 내용을 CSV로 전환하고 파일로 저장하는 방법을 알아 보고자 합니다.pom.xmljackson-databind, jackson-dataformat-csv를 추가한다.그러나 jackson-databind에는 jackson-core, jackson-annotation 의존성이 있어, jackson-databind 만 있어도 된다.자바 객체에서 CSV 파일 생성CSV 형식은 데이터베이스 테이블처럼 열(Column)과 행(Row)으로 표현된다. 자바 객체를 리스트로(java.util.List)로 전달하면, 데이터를 담고 있는 변수로 컬럼을 구성하고 리스트로 들어오는 데이터를 행 단위로 써 내려가는 식이다. Java Object(VO)변수 위에 @JsonProperty("제목")으로 CSV Header에 해당하는 컬럼명을 별도 지정할 수 있다. @JsonPropertyOrder로 컬럼의 순서도 바꿀 수 있다. @Getter @Setter도 달아준다.CsvMapper, CsvSchemaJSON에서 ObjectMapper를 사용한 것 처럼, CSV는 CsvMapper를 사용한다. CsvSchema로 원하는 형식을 잡아준다.파일 생성파일을 준비하고 ObjectWriter로 리스트 데이터로 파일을 작성한다.CsvMapper에서 바로 파일로 내려쓰는 방법도 있지만, OutputStreamWriter에서 인코딩(MS949)을 설정하여야 UTF-8로 저장해 둔 한글을 엑셀에서 정상적으로 볼 수 있다.`.writeAll(responseVoList)` 스키마에 넘겼던 객체의 리스트 인스턴스를 넘겨주면 끝이지만, 파일이 아닌 문자열로 받고 싶다면, JSON처럼 writeValueAsString을 쓸 수도 있다`csvMapper.writer(csvSchema).writeValueAsString(responseDtoList);`적용글. SIGN팀 | 류대석
-
- 20.11.26
-
신시스토리
신시웨이, 서울시 일·생활균형 우수기업(여성 맞춤형) 표창
신시웨이는 서울특별시가 주최하고 서울시여성가족재단이 주관하는 '제 2회 서울시 일·생활균형 박람회'에서 「서울시 일·생활균형 우수기업」에 선정되어 표창을 수상 하였습니다. 이번 표창은 시간 유연성, 여성 맞춤형, 돌봄현장 맞춤형 총 3개 분야에 대한 시상이 이루어졌으며, 신시웨이는 '여성 직원 협의회 운영'으로 여성 직원들에게 발생할 수 있는 불합리한 요소를 제거하고 이를 사전에 방지하며, 일과 생활균형을 이룰 수 있도록 '출산 및 돌봄 휴가'를 적극 장려하고, 실천하는 등 여성 직원들의 근무 환경 향상을 위해 노력하여 '여성 맞춤형 우수 기업'에 대한 표창을 수상 하였습니다. 신시웨이를 대표하여 표창을 수여 받은 김재현 부사장은 "직원들의 일·생활균형을 위해 회사 내부적으로 여러 가지 정책을 시행하였고, 일과 생활균형을 위해 앞으로 더 노력하는 신시웨이가 되겠다"라는 표창 소감을 전하였습니다. · 청년과 함께 성장하는 우수 중소기업으로 3년 연속 청년친화강소기업 선정2018년 고용노동부 청년친화강소기업(임금 우수, 일생활균형 우수, 고용안정 우수) 선정2019년 고용노동부 청년친화강소기업(임금 우수, 일생활균형 우수, 고용안정 우수) 선정2020년 고용노동부 청년친화강소기업(임금 우수, 일생활균형 우수, 고용안정 우수) 선정 · 근로자의 일·생활균형을 지원하고 국가경쟁력 향상에 기여하여2019년 여성가족부 가족친화기업 인증(인증 기간 2019년 12월 1일 - 2022년 11월 30일) · 일·생활균형 프로그램 및 제도의 적극적 운영으로2020년 서울특별시 일·생활균형 실천 우수 기업 선정
-
- 20.11.16
-
이벤트
신시웨이 뉴스레터 이름을 지어주세요!
* 신시웨이 뉴스레터 주제는! *신시웨이 뉴스레터는 최신 보안 정보와 솔루션 정보등을 공유 하기 위해 20년 10월 처음 발간 하였습니다. 신시웨이 뉴스레터는 자사 솔루션 소개 보다 보안담당자, DBA등 데이터베이스 및 보안업무 영역에 계시는분들을 위해 대표적으로 아래와 같은 소식들을 매달 10일 발송해 드리고자 합니다.- 전문 분야 -각종 법규와 규제에 대한 최근 소식과 해설 데이터베이스 보안(접근제어, 암호화)에 대한 필요성과 기술적 접근세계/국내 보안 시장 동향주요 IT, 보안 헤드라인 뉴스한 눈에 보는 주요 보안 지표KISA를 통한 보안 공지- 일반 분야 -직장인에게 유요한 생활 속 꿀팁(신.세.계)신시웨이의 최근 소식그리고! 다양한 이벤트!* 매월 10일에 발행 되는 신시웨이 뉴스레터 이름을 지어주세요 * - 응모 방법 : 본 글 하단 비공개 댓글 응모 (이름, 소속, 연락처, 뉴스레터 이름, 이름 뜻/풀이) - 이벤트 기간 : 20. 11. 06 - 20. 11. 24 - 당선작 발표 : 20. 11. 30(예정) * 상품 및 당첨자 수는 변경될 수 있습니다.
-
- 20.11.06