存档

‘技术点滴’ 分类的存档

macosx sierra下解锁gatekeeper的方法

2016年11月1日 没有评论

有时候安装了app,打开的时候会报错说文件已损坏,其实是被gatekeeper给拦截了,用上面的命令解锁下即可。

 

分类: 技术点滴 标签: , ,

2016 Magic Quadrant for Application Delivery Controllers

2016年9月7日 没有评论

2016 Magic Quadrant for Application Delivery Controllers

Critical Capabilities for Application Delivery Controllers

https://www.gartner.com/doc/reprints?id=1-3GFCT0U&ct=160830&st=sb

https://www.gartner.com/doc/reprints?id=1-3GG7469&ct=160830&st=sb

2016 Magic Quadrant for Web Application Firewalls

2016年9月1日 没有评论
Published: 19 July 2016 ID: G00290000

Analyst(s):

Summary

The WAF market is growing, with new use cases and security requirements ranging from “good enough” security for compliance to protection against targeted attacks. Enterprise security teams should evaluate how WAFs can provide high security that is also easy to consume and manage.

阅读全文…

radicati APT 2016 市场分析

2016年8月13日 没有评论

这个报告的结论应该还是按照market来的,里面有些纬度还不错,还是可以看看的。

forcepoint就是websense,下面的图是全球的数据预测。

https://www.bluecoat.com/sites/default/files/editor_files/Analyst-Reports-Radicati-2016-Advanced-Threat-Protection-Market-Quadrant.pdf

radicati_apt_market_quadrant

apt_world_rev

分类: 技术点滴 标签: ,

ssh会话建立的整个过程

2016年1月8日 没有评论

今天老板电话问到ssh建立的整个过程,几年前看过,不过忘的差不多了,复习一下,有几个版本供大家阅读:

0、安全版。简单扼要,恰到好处。 https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process

其中的session key是由Diffie-Hellman密钥交换算法得到的,DH本身很复杂,有兴趣的自行研究。

  1. The client begins by sending an ID for the key pair it would like to authenticate with to the server.
  2. The server check’s the authorized_keys file of the account that the client is attempting to log into for the key ID.
  3. If a public key with matching ID is found in the file, the server generates a random number and uses the public key to encrypt the number.
  4. The server sends the client this encrypted message.
  5. If the client actually has the associated private key, it will be able to decrypt the message using that key, revealing the original number.
  6. The client combines the decrypted number with the shared session key that is being used to encrypt the communication, and calculates the MD5 hash of this value.
  7. The client then sends this MD5 hash back to the server as an answer to the encrypted number message.
  8. The server uses the same shared session key and the original number that it sent to the client to calculate the MD5 value on its own. It compares its own calculation to the one that the client sent back. If these two values match, it proves that the client was in possession of the private key and the client is authenticated.

1、码农版。从openssh函数看ssh连接建立过程

https://baoz.net/%E4%BB%8Eopenssh%E5%87%BD%E6%95%B0%E7%9C%8Bssh%E8%BF%9E%E6%8E%A5%E5%BB%BA%E7%AB%8B%E8%BF%87%E7%A8%8B/

2、运维版。用ssh -v 登陆一个服务器,仔细看输出,就可以知道具体的过程。

 

3、书虫版。

这本书里介绍的很详细。

oreilly ssh the secure shell

分类: 技术点滴 标签: ,

ZZ 简单制作 OS X Yosemite 10.10 正式版U盘USB启动安装盘方法教程 (全新安装 Mac 系统)

2016年1月6日 没有评论

http://www.iplaysoft.com/osx-yosemite-usb-install-drive.html 原文在

不过大家可别被「命令行」三个字吓到,其实你只需按步骤来,复制粘贴命令即可快速完成,事实上是很简单的。

一、准备工作:

  1. 准备一个 8GB 或以上容量的 U 盘,确保里面的数据已经妥善备份好(该过程会抹掉 U 盘全部数据)
  2. 从这里下载苹果官方 OS X Yosemite 正式版的安装程序 (可选 AppSotre 或网盘下载)
  3. 如果你是从 Mac AppStore 下载的,下载完成后安装程序可能自动开始,这时先退出安装
  4. 如从网盘下载的,请将解压后获得的 “Install OS X Yosemite.app” (显示为 “安装 OS X Yosemite.app”) 移动到「应用程序」文件夹里面

二、格式化 U 盘:

插入你的 U 盘,然后在「应用程序」->「实用工具」里面找到并打开「磁盘工具」,或者直接用 Spotlight 搜索“磁盘工具” 打开,如下图。

格式化U盘

  • 1 – 在左方列表中找到 U 盘的名称并点击
  • 右边顶部选择 2 -「分区」,然后在 3 -「分区布局」选择「1个分区」
  • 在分区信息中的 4 -「名称」输入「iPlaySoft」 (由于后面的命令中会用到此名称,如果你要修改成其他(英文),请务必对应修改后面的命令)
  • 在「格式」中选择 5 -「Mac OS 扩展 (日志式)」
  • 这时,先别急着点“应用”,还要先在 6 -「选项」里面,如下图

GUID 分区表

  • 选择「GUID 分区表」,然后点击「好」
  • 最后再点「应用」开始对 U 盘进行格式化。

三、输入终端命令开始制作启动盘:

  • 请再次确保名为 “安装 OS X Yosemite” 的文件是保存在「应用程序」的目录中
  • 在「应用程序」->「实用工具」里面找到「终端」并打开。也可以直接通过 Spotlight 搜索「终端」打开
  • 复制下面的命令,并粘贴到「终端」里,按回车运行:

 

回车后,系统会提示你输入管理员密码,接下来就是等待系统开始制作启动盘了。这时,命令执行中你会陆续看到类似以下的信息:

Erasing Disk: 0%… 10%… 20%… 30%…100%…
Copying installer files to disk…
Copy complete.
Making disk bootable…
Copying boot files…
Copy complete.
Done.

当你看到最后有 「Copy complete」和「Done」 字样出现就是表示启动盘已经制作完成了!

四、U 盘启动安装 OS X Yosemite 的方法:

当你插入制作完成的 OS X Yosemite U盘启动盘之后,桌面出现「Install OS X Yosemite」的盘符那么就表示启动盘是正常的了。那么怎样通过 USB 启动进行全新的系统安装呢?

其实很简单,先在目标电脑上插上 U 盘,然后重启你的 Mac,然后一直按住「option」(alt) 按键不放,直到屏幕显示多出一个 USB 启动盘的选项,如下图。

Yosemite USB盘启动

这时选择 U 盘的图标回车,即可通过 U 盘来安装 Yosemite 了!这时,你可以直接覆盖安装系统(升级),也可以在磁盘工具里面格式化抹掉整个硬盘,或者重新分区等实现全新的干净的安装

分类: 技术点滴 标签: ,

方法论丨构建机器学习系统的20个经验教训

2015年12月24日 没有评论
2015-12-24 孙镜涛 InfoQ
数据科学家对优化算法和模型以进一步发掘数据价值的追求永无止境。在这个过程中他们不仅需要总结前人的经验教训,还需要有自己的理解与见地,虽然后者取决于人的灵动性,但是前者却是可以用语言来传授的。最近Devendra Desale就在KDnuggets上发表了一篇文章,总结了Quora的工程副总裁Xavier Amatriain在Netflix和Quora从事推荐系统和机器学习工作时所总结的20条经验教训。

1.更多的数据 & 更好的模型

并不是数据越多结果就越好,高质量的数据才能产生高质量的结果。多并不意味着好,事实上,有些情况下较少的数据反而效果更好,因此数据要适量,质量要高。

2.可能并不需要所有的大数据
组织可能积累了不同种类的大数据,但是并不是每一个场景都会用到所有的数据。大部分情况下,通过一些样本数据就能获得比较好甚至是比使用全量数据更好的效果。

3.有时候更复杂的模型并没有带来任何提升,但这并不意味着就不需要它了
如果将一个线性模型的特征数据作为另一个更复杂模型(例如非线性模型)的输入,而复杂模型产生的结果并没有任何提升,那并不意味着这个复杂模型就毫无意义。因为通常情况下只有更复杂的特征数据才需要更复杂的模型,对于简单的特征数据复杂模型往往难以发挥出自身优势。

4.学会处理展现偏见
系统通常会将那些预测的比较正确的结果展示给用户,用户会选择性的查看,但是用户不看的那部分并不一定就毫无吸引力。更好的选择是通过关注模型或者MAB分析用户的点击概率,合理地呈现内容。

5.认真思考训练数据
构建训练和测试数据的时候需要充分考虑结果和各种不同的场景。例如,如果要训练一个预测用户是否喜欢某部电影的分类器,那么产生数据的可能场景包括:用户看完电影并给出了一星的评价,用户看了5分钟、15分钟或者一小时之后离开,用户再次查看电影等,如何选择这些数据是需要经过深思熟虑的。

6.UI是用户与算法通信的唯一方式
系统通过UI展现算法结果,用户通过UI提供算法反馈,它们应该是相互对应的关系,任何一个发生变化另一个也需要进行改变。

7.数据和模型是否已经足够好了?要有正确的评估方法
产品决策始终应该是数据驱动的。对于不同的问题,要选择正确的评估方法,例如,通过A/B测试来衡量不同特征数据,不同算法的优劣;通过脱机测试使用 (IR) 度量测试模型的性能。

8.分布式算法重要,但是理解它的分布式程度更重要
分布式/并行算法分三级:第一级针对总体的每一个子集,第二级针对超参数的每一种组合,第三级针对训练数据的每一个子集,每一级都有不同的要求。

9.慎重地选择超参数
要选择正确的度量标准自动化超参数的优化。

10.有些事情能线下做,有些不能,有些介于两者之间,为此需要支持多层次的机器学习

11.隐式信号几乎总是打败显式信号
许多数据科学家认为隐式反馈更有用。但真的是这样么?实际上有些情况下结合不同形式的隐式和显式信号能更好地表示长期目标。

12.模型会学习你教给他的内容
机器学习算法并不是一个随意的过程,它的每一步都涉及到科学方法。模型要从训练数据、目标函数和度量中学习。

13.有监督的 + 无监督的学习
开发模型的时候不能简单地选择有监督的或者无监督的学习,它们各有长处,适用场景不同,用户需要根据具体情况同时迭代地使用它们,通过两种方法的融合获得更好的效果。

14.所有的事情都是一种集成(Ensemble)
使用机器学习的大部分应用程序都是一个集合体。你可以添加完全不同的方法(例如CF和基于内容的方式),你也可以在集成层使用许多不同的模型(例如LR、GDBT、RF和ANN)。

15.一个模型的输出可能是另一个模型的输入
确保模型的输出具有良好的数据依赖关系,例如可以容易地改变值的分布而不影响依赖它的其他模型。要尽量避免反馈循环,因为这样会在管道中造成依赖和瓶颈。另外,机器学习的模式设计也需要遵循最佳的软件工程实践,例如封装、抽象、高内聚和松耦合。

16.特征工程的失与得
良好的机器学习特征可重用、可转换、可解释并且可靠。捕获的特征越好,结果越精确。为了量化数据的属性必须将维度翻译成特征。

17.机器学习基础设施的两面性
任何机器学习基础设施都需要考虑两种不同的模式。模式1:机器学习实验需要扩展性、易用性和可重用性。模式2:机器学习产品不仅需要模式1的特性,还需要性能和可伸缩性。理想情况下,应该保持这两种模式尽可能地相近。

18.要能回答有关于模型的问题
必须能够向产品所有者解释模型的行为,知道如何使用模型,它需要哪些特征,导致失败的原因是什么;同时还需要知道产品所有者或投资者的期望,能够向他们介绍模型为产品带来了什么价值。

19.不需要分发机器学习算法
Hadoop/Spark这些“容易的”分布式计算平台也有一些陷阱,例如成本和网络延迟,实际上有些情况不使用它们也能很好的完成工作,通过智能数据样本、离线模式以及高效的并行代码等方法训练模型所花费的时间甚至比这些分布式平台要少的多。

20.数据科学 vs. 机器学习工程不为人知的故事
拥有强大的能够挖掘数据价值的数据科学家是非常值得的。但是既懂数据又有扎实工程技能的数据科学家非常稀少,通常情况下,构建数据科学家团队和机器学习工程团队并让他们通力配合才是比较好的方案。

  • 更多干货内容,敬请关注InfoQ[id:infoqchina]微信公众号

mac下出x指南

2015年12月22日 没有评论

自从没了红杏,搜索又重新用百度了,这日子实在过的焦灼,用ssh tunnel和switchyomega实现了类似红杏的体验,

一、效果如下:

1、在被访问网站打不开的时候,会有提示,可以添加策略走代理

2、没设置代理的时候,请求不经过代理。

3、可以快速设置浏览器全部使用代理,或者全部不使用代理。

4、代理只影响浏览器,不影响其他程序。

二、步骤如下:

1、在appstore里搜索ssh proxy或者在 http://pan.baidu.com/s/1qWvDQKs 下载破解版

启动程序,在server那里设置ssh服务器和账号密码

2、在国外购买一个ssh服务器(找我要ssh账号)

3、用chrome下载一个叫switchyomega的扩展,下文称为so。如果访问不了chrome的app,就在这里下载,然后拖放到chrome里。https://github.com/FelisCatus/SwitchyOmega/releases/download/v2.3.16/SwitchyOmega.crx

4、添加一个ssh tunnel的设置,然后IP写127.0.0.1,端口写7070,在so里设置情景模式为auto switch

QQ20160606-0

5、在访问页面无法打开时,so会有个标识,类似红杏那样添加下就好。如图中的1部分。

QQ20151222-1

6、如果被访问网站在内网,或者不希望过代理,点击so的添加条件按钮,设置下直连即可,如上图中的2部分。

QQ20151222-2

 

三、已知问题

1、ssh proxy在网络切换之后,会显示连接不上的状态,翻墙也失败,需要turn off再turn on,如果还不行,就退出app再启动app。

分类: 技术点滴 标签:

LINUX ANTI-DEBUGGING TECHNIQUES (FOOLING THE DEBUGGER)

2015年12月20日 没有评论

文章不错

阅读全文…

Reverse Engineering with LD_PRELOAD

2015年12月20日 没有评论

This paper is about the LD_PRELOAD feature, and how it can be useful for reverse engineering dynamically linked executables. This technique allows you to hijack functions/inject code and manipulate the application flow.

阅读全文…