IT咨询旅程:挑战与解决方案的平衡

分享了一位IT安全咨询师近四年的行业经验与见解,探讨了咨询的定义、咨询过程、IT咨询的不同范式,以及在真实案例中的应对策略。

IT咨询旅程:挑战与解决方案的平衡
Photo by Aiden Frazier / Unsplash

作为一名从事IT安全咨询近四年的专家,我希望分享一些我在这一领域的见解和心得。

什么是咨询

Consulting is a term for providing business advice on various topics including, corporate strategy, product development, marketing, information technology, and operational improvement.

— Erica Suesserman

我的理解是咨询,即是在客户的需求下,以第三方视角提供专业建议,旨在通过解决方案创造长期价值。最终让客户得到商业价值、提高运营效率、降低成本。

咨询工作的特殊性在于,在不确定中寻找或定义问题,从而找到最合适的定制化解决方案。

Unknown Martix from: Solving for complexity

在每一次的咨询过程中,我们都是将 Unknown Knowns 或 Known Unknowns 推向 Known Knowns 的一个过程。而为何不提 Unknown Unknowns 进程呢?这就像无法把梳子推销给光头;客户不会为自己未意识到的问题付费。

IT 咨询的范式

在IT领域,咨询通常分为两种类型:高屋建瓴的企业IT架构设计与解决方案咨询。我的主要工作是应用安全、IAM和安全架构方面的咨询。

咨询过程通常如下:

The Consulting Cycle
  1. 客户提出问题/需求
  2. 咨询师与客户确认目标及工作范围
  3. 咨询师开始收集相关事实
  4. 咨询师找到或定义问题
  5. 咨询师为客户量身定制计划及解决方案
  6. 咨询师在客户支持下推行解决方案
  7. 咨询师验证问题是否得到解决
  8. 咨询师汇报并提出下一步建议。如客户仍有需求,又可回到第1步继续。

实际咨询过程中,第三步到第五步可能会重复进行,因为这都是从 Unknown Unknown 域获取信息的过程。每次的信息收集、问题定义和解决方案设计都可能揭示新的信息。

一个小例子

某天在项目上工作时,得知客户希望进行全面的威胁建模。在售前阶段,客户对他们的产品要求建模,而该产品恰好是当时流行的 RPA,它用于模拟人类的自动化过程。 沟通中我们认为该产品主要在客户机器上运行。

随后我们联系团队,进行访谈并绘制数据流图,发现他们有两种主机:云主机和本地主机。RPA不仅在本地主机运行,还在云主机上,同时提供API供外部调用。

WOW! 这真是了不起,每个用户都可以在云主机上使用RPA,变成一个服务器。好在我们都在内网,没有大问题(这其实也是个隐患)。客户提到有一个指令中心,可以给所有RPA下发程序,实现分布式计算👀。

信息收集差不多后,我们开始数据流图和威胁建模,又发现一些有趣信息:

  • RPA与任务分配服务器的沟通是双向的,不仅推送也拉取。
  • RPA在提供服务时,验证调用者身份由RPA流开发人员决定。
  • RPA节点中存在硬编码密钥。
  • 内网没有HTTPS。
  • 日志也写有密钥。
  • RPA程序拥有系统管理员权限。

在我看来,这个软件的安全性存在巨大问题,毕竟连HTTPS都没有,任何人都可以拦截篡改内网流量。但在一个压力极大的公司内部,似乎不成问题。

最终在我与团队达成一致并为所有改进项排序后,估算的开发人天比产品演进人天还要多。我猜最终客户不会修复任何安全问题,但依然强调了几个必须解决的安全问题。

🤣
几年后项目结束时,客户一个安全问题也没有修复。

这是咨询过程中产生的重要见解,团队也认可了最终由于安全问题缺乏优先级而未能修复的事实。

你认为系统一定会出问题吗?我认为是的,但何时出现仍不确定。而在客户公司的环境下,不修复也不成问题,毕竟当前负责人完成项目后应该会升职,锅就留给后人背吧。

总结

作为一名IT安全咨询师,我坚信,勇于尝试、保持学习,将使我不断进步,成为更出色的专业人士。如果您也选择这条路,让我们共同努力。

如果本文对您有帮助,欢迎订阅或打赏,感谢阅读。