一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 965|回复: 5
收起左侧

[实习] [网络安全相关实习]Verisign iDefense Lab实习面经

[复制链接] |试试Instant~ |关注本帖
alc9700 发表于 2016-2-19 13:56:20 | 显示全部楼层 |阅读模式

2016(7-9月)-[15]CS硕士+> 5年 - 网上海投| 码农类实习@Verisignfresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
坐标:美东入学时间:2015 Fall
专业:MS in CyberSecurity in Computer Science
公司:Verisign Inc
部门:iDefense Lab - Malicious Code Research and Countermeasure Team
职位:CyberSecurity Intern
.鏈枃鍘熷垱鑷1point3acres璁哄潧
看到地里有人问到网络安全相关的面经,并且貌似地里很少有人发相关的面经,所以赶来发一下。
先说一下美东这边网络安全相关专业找工作的情况。DMV地区有很多公司招收Security相关的intern,看上去职位大大的有。however,这些公司80%是为美国政府服务的,他们的服务对象不是DoD,就是那些军火商(Lockheed Martin/BAE System/Raytheon)。所以,进入这类公司工作或者是实习都需要事先获得Top Security/SCI Clearance. Top Security Clearance只能是US Citizen才可以获取,所以这类公司是与我们国际学生无缘的。不过幸好天无绝人之路,还有那么一些公司是招收国际学生的。我个人喜欢的研究方向是Windows平台下的二进制安全方向,逆向工程,操作系统内核之类的。招收这类方向的公司据我知道有FireEye,Palo Alto Networks,Symantec,Verisign之类。我就选了Verisign和Palo Alto Networks投了一下简历,都是Malicious Code Research方向。这篇帖子只谈在Verisign的面试经过。


2015.12.28 在线上传简历. 1point3acres.com/bbs
2016.1.13 recruiter给我打电话,我当时人正好在地铁上结果没接着,给我留了Voice mail,然后给我发了邮件。下地铁以后果断打回去约了第二天的电话面试。
2016.1.14 电话面试比较水,就是问问为啥申请Verisign,问我学校的CyberSecurity Program怎么样,问了我简历上写的一些技能,整个过程就是在扯闲篇,大致45分钟左右。到了最后跟我说让我跟Sr Manager进行电话面试,预约到了2016.1.18。
2016.1.18 Sr. Manager按照预约的时间打来电话,问了下面3个问题:
(1) 如果给你个未知PE样本,你并不知道这个样本是否是Malicious的,你只有3-4个小时去做手工分析,你该怎么做?. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
回答:先取文件的HASH,然后在virustotal之类的网站上查询HASH,看是否被分析过。如果有,看结果,如果没有就先做静态分析。. 鍥磋鎴戜滑@1point 3 acres
静态分析时,使用PEiD或者类似的工具,看看PE问是否被加壳。如果壳被PEiD检测出来了,那么先扒皮;如果没有检测出来(unknown),则看PE文件的区段,看看是否有异常,并且使用工具求各个区段的Entropy,看看是不是有压缩或者是加密。一般未知入口信息+High Entropy+无图标基本可以认作suspicious。如果没有加壳则可以根据经验判断PE的导入表是否有敏感API导入。静态分析过后,把样本放进一个虚拟机运行环境进行动态分析,开Process Explorer、FileMon、RegMon之类的工具看行为,再开WireShark抓包分析。这个就说了这么多,没展开说。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
(2) 如果你使用WireShark分析网络traffic,你该怎么做?
  我答的是扔进虚拟机环境分析。但是面试官说要在自己真机跑,我argue了一下,面试官给的答案是如果在分析内核Rootkit的时候,有时候虚拟机会crash或者是卡死,这样抓到的数据有时候会丢。
(3) 问了我简历上的一个项目经历,关于一个动态Malware Analysis系统的里的设计。问的是你的哪个系统是如何判断一个新创建的线程是否是Remote Thread?
回答:在Windows 7系统下挂钩内核nt!NtCreateThreadEx函数,获取调用者的EPROCESS和第一个参数的Handle所对应的EPROCESS,如果相同则是本地线程,如果不同则是远程线程。
问完以后说回答的还可以,然后给了一份Exam让我做,说下周一之前E-Mail给他就行了。. From 1point 3acres bbs
Exam的内容就是给了三个32位PE样本,写分析报告,做分类。做分析,写报告。下面是哪个Exam的简单思路:
Exam1: Exam1是个网银木马。EXE文件.data区段有很高的Entropy,可以判断是有压缩 or 加密。看Process Explorer的结果,发现那个东西创建了一个新的进程,那个旧的进程就退出了,之后那个新进程干了一堆猥琐事,基本可以判断是FUD加密。第二个问题要求你把真实payload抓出来,方法就是用OllyDbg载入这个样本,在WriteProcessMemory上下断点,断下来以后之间Dump那个Source Buffer就行了。第二题问他注入了哪些进程,是怎么注入的,用了什么方法注入。这个需要用IDA载入那个Payload做静态分析。发现这玩意注入了explorer.exe的kernel32!NtResumeThread函数,进一步分析可以发现他是通过挂钩kernel32!NtResumeThread函数拦截所有explorer.exe创建的子进程,然后注入代码,这里需要把整个过程解释清楚。第三题问这玩意连接了哪些HOST。简单的办法就是WireShark抓包,但是这个样本对应的C&C Server已经失效了需要耐心等待一段时间才能抓到所有的HOST。第四题是问的这个属于什么类别的Malware?理由?回答是这个东西Hook了导入证书的API,同时API Hook的处理函数有脚本注入行为,可以判断为网银木马。
Exam2: Exam2还是个网银木马。。。但是是个DLL文件,也是加密压缩过的。处理这个DLL的时候首先放虚拟机分析发现他没有创建新进程,于是OllyDbg分析。载入以后在VirtualAlloc函数上下断点,当看到有PAGE_READWRITE_EXECUTE属性的页面被分配时记下来,然后在这个Page上下内存写断点。在第二次断下的时候可以看到EIP被指向了这个页面。然后剩下的就是单步分析就行了。。。具体的问题与第一题相同,但是这个样本挂钩了CreateProcessInternalW函数来拦截进程创建。这个东西会向explorer.exe注入一段ShellCode。ShellCode的格式是 配置信息|ShellCode|32-Bit Payload|64 Bit-Payload,按照这个格式抓出来32位和64位的Payload就可以满足第三题的要求。第四题的要求是要你分析这段shellcode的功能,解答:内存对齐PE镜像,修复重定位,填充IAT。
Exam3:这个样本没有恶意,就是考察IDA的使用,并且考察静态分析文件格式和加密算法分析,只有一个XOR 0x7E,实在简单,就不写了。。。
这三个Exam比较简单,基本3天时间分析完,周四把report发给Manager,两个小时以后回复说Good,约On-site interview到2016.1.28

2016.1.28 On-site interview的时候是三个工程师来面我,一个是上次的Sr.Manager,一个Engineer IV,一个Principal。基本问的是简历上写的东西,基本问了一个遍,写几个能想起来的:. From 1point 3acres bbs
(1)你为什么研究Malware?从什么时候开始的?
回答: It's fun. Break something & crack something
(2) 简历上写了本科大二的时候研究Bootkit的经历,然后问我Bootkit怎么分析 你该怎么调试?
回答:我就说了一下我研究过的那4种Bootkit的实现方式,最开始分析的时候用Bochs Emulator进行分析,但是发现实在太慢,就换别的办法了。
又问:你换了什么办法?
答:我改用VMWare+IDA的方式来调试。VMWare提供一个GDB Stub,可以用IDA连接上去进行调试。并且IDA支持载入符号文件辅助调试。
又问:你为什么不用WinDBG进行调试?
我说如果遇到TDL-4的话WinDbg是没法调试的。因为TDL-4会替换kdcom.dll的memory image,而WinDbg依赖这个调试接口。
(3) 一般遇到加壳你怎么处理?遇到Themida和VMProtect你会怎么办?
回答:如果是Themida和VMProtect过的样本,我换用别的办法。。。其它的脱壳无非就是常用的手段,注意Bypass Anti-Debug的手段就行,这里我不展开说了。再有就是平时可以积累一些OllyScript脚本到时候可以用。(这块回答的比较虚,因为2010年以后出的新壳我都没研究过,不敢乱说,怕掉进坑里。)
(4) Windows API的调用过程?以kernel32!OpenProcess为例,只需要回答到系统服务分发阶段就可以。
回答:略,网上一堆,可以自己看. From 1point 3acres bbs
(5) Windows操作系统当中到底存在几组Nt*和Zw*函数?他们有什么区别?如果我想在Windows内核里调用ZwProtectVirtualMemory,请给出一个方案。.1point3acres缃
回答:这些函数分布在ntdll.dll和ntoskrnl.exe里,各有一套。ntdll就是个call stub,最终经过sysenter进入内核调用内核里的Nt* executive。内核里也有Zw*函数,但是很多没有被ntoskrnl.exe导出(not exported).你问的那个ZwProtectVirtualMemory是个未导出函数,可以通过构造int 2eh方式进行调用,构造一个int 2eh的stub,注意函数的calling convention就可以了。-google 1point3acres


面试结束Sr. Manager跟我说那个recruiter会再联系我,然后我就回家等消息了。
等了两天recruiter打电话跟我说team wants me,于是给了口头offer。说需要做background checking,等clear以后给发正式的offer letter。
background checking是恶心的HireRight,因为我是2月5号提交的背景资料,这个需要查国内的学历和犯罪记录,结果正赶上春节,这周二才全部clear...

这就是这次Verisign的面试经历,地里关于网络安全相关的面试经历并不多,希望此帖能对学安全方面的同学有所帮助。。。如有错误,欢迎指正。
. 1point 3acres 璁哄潧

. from: 1point3acres.com/bbs




评分

2

查看全部评分

amyzen 发表于 2016-2-20 05:07:11 | 显示全部楼层
下周面visa的security组,之前学过internet security感觉学的都是各种网络attack,VPN,firewall之类的。LZ的这个面经感觉考察的好全面,基本都不会。。。。
回复 支持 反对

使用道具 举报

 楼主| alc9700 发表于 2016-2-20 05:31:29 | 显示全部楼层
amyzen 发表于 2016-2-20 05:07
下周面visa的security组,之前学过internet security感觉学的都是各种网络attack,VPN,firewall之类的。LZ ...

每个team的要求是不一样的。并且实地面试主要是问你简历里写的东西,主要看你是不是做过,问问你的思路,看看你会不会...
回复 支持 反对

使用道具 举报

wonderful93 发表于 2016-3-31 09:31:47 | 显示全部楼层
楼主是去Reston的那个Verisign吗?
回复 支持 反对

使用道具 举报

 楼主| alc9700 发表于 2016-3-31 09:37:48 | 显示全部楼层
[quote][url=forum.php?mod=redirect

是,但是hr跟我说今年有internal adjustment 把summer internship program取消,然后offer发完又收回了。我不知道是真是假
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-7 03:55

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表