作者: apc2002

  • 20240719 Globe IT Outage

    20240719 Globe IT Outage

    这一天,将会记录历史,将会让我们重新思考SaaS的安全性。

    7月19日,一个风和日丽的周五。我请了假在老家疗养。

    刚过晌午,微信群里开始陆续报告一台又一台的电脑蓝屏重启,反复重启……紧接着我们的服务器也开始出现故障,整个系统停摆了,紧接着友邻的系统也一个个倒下,整个公司的系统都倒了……上网一看,整个世界的Windows系统都蓝了……

    故障的范围越来越大,原因也渐渐清晰起来:一切安装了CrowdStrike这款防渗透软件的Windows系统在这一天无一幸免。网上有位C++开发达人在第二天就通过分析stacktrace指出,此问题就是代码中的空指针引用未判断所致,属于低级缺陷,这与本周发布的官方调查报告相符。

    根据此报告,缺陷代码早先就以存在,只是在等待合适的特征库更新包的到来即可触发。于是,我们的吃瓜阴谋论就可以展开了:如此巨大的一场全球事故,各行各业对于网络安全极为重视的组织全部受灾,那么,这是否是被人有意操控的“意外”,用于掩盖他们的小动作?这是一个熟悉的好莱坞配方,但艺术总是源于生活,生活也在不停的借鉴艺术,不是吗?

    官方的事故说明报告:

    Falcon Content Update Remediation and Guidance Hub | CrowdStrike

    Preliminary Post Incident Review

    Content Configuration Update Impacting the Falcon Sensor and the Windows Operating System (BSOD)

    Executive Summary PDF

    This is CrowdStrike’s preliminary Post Incident Review (PIR). We will be detailing our full investigation in the forthcoming Root Cause Analysis that will be released publicly. Throughout this PIR, we have used generalized terminology to describe the Falcon platform for improved readability. Terminology in other documentation may be more specific and technical.

    What Happened?

    On Friday, July 19, 2024 at 04:09 UTC, as part of regular operations, CrowdStrike released a content configuration update for the Windows sensor to gather telemetry on possible novel threat techniques.

    These updates are a regular part of the dynamic protection mechanisms of the Falcon platform. The problematic Rapid Response Content configuration update resulted in a Windows system crash.

    Systems in scope include Windows hosts running sensor version 7.11 and above that were online between Friday, July 19, 2024 04:09 UTC and Friday, July 19, 2024 05:27 UTC and received the update. Mac and Linux hosts were not impacted.

    The defect in the content update was reverted on Friday, July 19, 2024 at 05:27 UTC. Systems coming online after this time, or that did not connect during the window, were not impacted.

    What Went Wrong and Why?

    CrowdStrike delivers security content configuration updates to our sensors in two ways: Sensor Content that is shipped with our sensor directly, and Rapid Response Content that is designed to respond to the changing threat landscape at operational speed.

    The issue on Friday involved a Rapid Response Content update with an undetected error.

    Sensor Content
    Sensor Content provides a wide range of capabilities to assist in adversary response. It is always part of a sensor release and not dynamically updated from the cloud. Sensor Content includes on-sensor AI and machine learning models, and comprises code written expressly to deliver longer-term, reusable capabilities for CrowdStrike’s threat detection engineers.

    These capabilities include Template Types, which have pre-defined fields for threat detection engineers to leverage in Rapid Response Content. Template Types are expressed in code. All Sensor Content, including Template Types, go through an extensive QA process, which includes automated testing, manual testing, validation and rollout steps.

    The sensor release process begins with automated testing, both prior to and after merging into our code base. This includes unit testing, integration testing, performance testing and stress testing. This culminates in a staged sensor rollout process that starts with dogfooding internally at CrowdStrike, followed by early adopters. It is then made generally available to customers. Customers then have the option of selecting which parts of their fleet should install the latest sensor release (‘N’), or one version older (‘N-1’) or two versions older (‘N-2’) through Sensor Update Policies.

    The event of Friday, July 19, 2024 was not triggered by Sensor Content, which is only delivered with the release of an updated Falcon sensor. Customers have complete control over the deployment of the sensor — which includes Sensor Content and Template Types.

    Rapid Response Content
    Rapid Response Content is used to perform a variety of behavioral pattern-matching operations on the sensor using a highly optimized engine. Rapid Response Content is a representation of fields and values, with associated filtering. This Rapid Response Content is stored in a proprietary binary file that contains configuration data. It is not code or a kernel driver.

    Rapid Response Content is delivered as “Template Instances,” which are instantiations of a given Template Type. Each Template Instance maps to specific behaviors for the sensor to observe, detect or prevent. Template Instances have a set of fields that can be configured to match the desired behavior.

    In other words, Template Types represent a sensor capability that enables new telemetry and detection, and their runtime behavior is configured dynamically by the Template Instance (i.e., Rapid Response Content).

    Rapid Response Content provides visibility and detections on the sensor without requiring sensor code changes. This capability is used by threat detection engineers to gather telemetry, identify indicators of adversary behavior and perform detections and preventions. Rapid Response Content is behavioral heuristics, separate and distinct from CrowdStrike’s on-sensor AI prevention and detection capabilities.

    Rapid Response Content Testing and Deployment
    Rapid Response Content is delivered as content configuration updates to the Falcon sensor. There are three primary systems: the Content Configuration System, the Content Interpreter and the Sensor Detection Engine.

    The Content Configuration System is part of the Falcon platform in the cloud, while the Content Interpreter and Sensor Detection Engine are components of the Falcon sensor. The Content Configuration System is used to create Template Instances, which are validated and deployed to the sensor through a mechanism called Channel Files. The sensor stores and updates its content configuration data through Channel Files, which are written to disk on the host.

    The Content Interpreter on the sensor reads the Channel File and interprets the Rapid Response Content, enabling the Sensor Detection Engine to observe, detect or prevent malicious activity, depending on the customer’s policy configuration. The Content Interpreter is designed to gracefully handle exceptions from potentially problematic content.

    Newly released Template Types are stress tested across many aspects, such as resource utilization, system performance impact and event volume. For each Template Type, a specific Template Instance is used to stress test the Template Type by matching against any possible value of the associated data fields to identify adverse system interactions.

    Template Instances are created and configured through the use of the Content Configuration System, which includes the Content Validator that performs validation checks on the content before it is published.

    Timeline of Events: Testing and Rollout of the InterProcessCommunication (IPC) Template Type
    Sensor Content Release: On February 28, 2024, sensor 7.11 was made generally available to customers, introducing a new IPC Template Type to detect novel attack techniques that abuse Named Pipes. This release followed all Sensor Content testing procedures outlined above in the Sensor Content section.

    Template Type Stress Testing: On March 05, 2024, a stress test of the IPC Template Type was executed in our staging environment, which consists of a variety of operating systems and workloads. The IPC Template Type passed the stress test and was validated for use.

    Template Instance Release via Channel File 291: On March 05, 2024, following the successful stress test, an IPC Template Instance was released to production as part of a content configuration update. Subsequently, three additional IPC Template Instances were deployed between April 8, 2024 and April 24, 2024. These Template Instances performed as expected in production.

    What Happened on July 19, 2024?
    On July 19, 2024, two additional IPC Template Instances were deployed. Due to a bug in the Content Validator, one of the two Template Instances passed validation despite containing problematic content data.

    Based on the testing performed before the initial deployment of the Template Type (on March 05, 2024), trust in the checks performed in the Content Validator, and previous successful IPC Template Instance deployments, these instances were deployed into production.

    When received by the sensor and loaded into the Content Interpreter, problematic content in Channel File 291 resulted in an out-of-bounds memory read triggering an exception. This unexpected exception could not be gracefully handled, resulting in a Windows operating system crash (BSOD).

    How Do We Prevent This From Happening Again?

    Software Resiliency and Testing

    • Improve Rapid Response Content testing by using testing types such as:
      • Local developer testing
      • Content update and rollback testing
      • Stress testing, fuzzing and fault injection
      • Stability testing
      • Content interface testing
    • Add additional validation checks to the Content Validator for Rapid Response Content. A new check is in process to guard against this type of problematic content from being deployed in the future.
    • Enhance existing error handling in the Content Interpreter.

    Rapid Response Content Deployment

    • Implement a staggered deployment strategy for Rapid Response Content in which updates are gradually deployed to larger portions of the sensor base, starting with a canary deployment.
    • Improve monitoring for both sensor and system performance, collecting feedback during Rapid Response Content deployment to guide a phased rollout.
    • Provide customers with greater control over the delivery of Rapid Response Content updates by allowing granular selection of when and where these updates are deployed.
    • Provide content update details via release notes, which customers can subscribe to.

     Updated 2024-07-24 2217 UTC

    Third Party Validation

    • Conduct multiple independent third-party security code reviews.
    • Conduct independent reviews of end-to-end quality processes from development through deployment.

    In addition to this preliminary Post Incident Review, CrowdStrike is committed to publicly releasing the full Root Cause Analysis once the investigation is complete.

  • 20240713 全为生命

    周六,预报大雨,气温30左右。

    这应该是在“新家”事实意义上的第一篇日记,那就来说一下本周我参加的AHA急救培训。

    上个月底,17岁的羽坛小将张志杰,因为心脏骤停救治不及时在赛场离世,令人惊愕,让人叹惋……

    我仔细回忆了第一次参加的急救培训,也约莫有个10来年了吧~~不过那会儿并没有听说过AHA,仅仅是公司邀请了外训老师,主要来讲解CPR和AED的使用,可能跟当时公司申报ISO有关系,并没有安排全套的急救培训和认证?

    但自那次培训起,我开始了解到AED这个设备,以及心脏骤停的急救知识。而且还动了想要买一台AED的心。但在那会儿,这类设备似乎网购并不容易,也就悻悻作罢。

    转眼十几年过去了,你会悄悄地发现,身边大大小小的场馆都开始配备AED小盒子。你会不经意间的感受到民众和社会在急救意识宣传、设施普及上的显著进步。

    而这一次,单位里组织了一整天的AHA培训认证,一共9名学员,3位导师。导师也是来自我们单位的志愿者。上午场是CPR和AED,下午是内外科急救知识和对应的考核。我很高兴的能够参与其中,也很乐见这类培训在组织中持续开展,并且参与人数在日趋壮大。

    我一直认为,任何行动都应该意识先行,脑子一定要比手快!当你的脑子里埋下了急救的意识,才有可能在需要的时候采取行动!也许我在那一刻来临时,并不一定能够做好CPR,并不一定能够找来AED,但我知道,在那一刻我需要做什么。

  • 2021西藏行—库拉岗日神山

    2021西藏行—库拉岗日神山

    今天是除夕,也是一月的最后一天。让我简单来回顾下吧。

    两位小朋友今年的学习整体感觉上有点进步,姐姐学期末是三科优,这倒是第一次。妹妹低年级没有考试,所以继续放羊啦。从我的观察来看,姐姐脑瓜子灵活机变通能力较弱,应付数学估计将来会有些挑战,优点是她能够按照你的要求去完成一些任务,哪怕完成的并不是很好。此外她最需要解决的是“邋遢”,书包拉链打开后就不会合上,书桌经过我多次强调,每日功课完成后终于收拾干净了。 我给她的更多是方法性的指导,强调复习可以如何计划和追踪,在我的观念了,学海无涯嘛,还是要学方法,以不变应万变。
    妹妹,好胜心很强,没达成她的想法或期望就会泼皮耍赖,估计在学校里也遇到了一些“挫折”,毕竟在学校里可没什么人会顾及你的感受。但从她整体的反馈来看,目前并不会是困扰,希望她在虎年能够体会别的情绪,更好的融入团队协作。 两个人合起来看的话,我对于她俩的协作性不太满意,我希望她们在成长过程中能够彼此体谅和支持,这也算是作为家长的功课吧,我不知道这份作业要怎么做,我也不确定这份作业会拿到什么成绩,但这是一份必须要提交的作业,努力做到我的认知水平内的最好吧。

    最后说说我自己。睡眠不太好,每天有效睡眠时间不长,导致自己眼圈常挂,思维太活跃了吗?
    我甚至动了换一份工作,选一个无需费脑的活,离家近一些,这样休整一年试试看,也许是个办法,让我再想想。

    家里其他成员平安健康,来年也是同样的祈愿,毕竟平安才能喜乐嘛。


    IMG20211216120842-01.jpeg

    封面图,库拉岗日神山。

    Screenshot_2021-10-26-21-22-14-40_a94f11e1e855b262d99cff7cac7459e8

    路线参考图

    我们回到西藏之行的下篇,国庆节从林芝回来后,感觉意犹未尽,外加年假要过期了,于是盘算着用掉。

    想着很久没去雪山湖泊转转了,机缘巧合关注到了一个地方—库拉岗日三湖徒步线路,号称中国版的ABC环线,于是就暂定下了这个目的地。 考虑到疫情此起彼伏,也没打算提前订票,可即便于此,最后时刻也是有点忐忑,因为当时上海有个别地区是带※的,不太确定出发日的疫情政策和管控要求。出发时间逐日临近,所订航班几乎天天取消,但我也做好了最坏的打算,那就是取消呗,或者落地遣返、隔离的准备也做好了。那就坐等吧。

    IMG20211123211709-01_20211201_090852.jpg

     过去一年我都会在每个月制作一张图发圈,这是当时的12月小王子,一位被书本压着的小王子。

    1211
    今日启程出发西藏,探索下山南地区。原计划是国航在重庆中转,结果估计浦东疫情关系,浦东飞重庆段连续取消了一周,外加本周一开始突然智齿发炎,这令我十分犹豫此次行程。
    时间推进到了周五,三天消炎药下去后,症状开始缓解,还是决定出发,最差就在拉萨疗养!
    早上三点多就醒了,起来又整理了下行李,迷糊到五点起床出发,一路顺利,在傍晚五点准时落地拉萨。
    由于我行程码带星,下机后大巴集中拉到核酸检测点登记、检测。然后就可以自行离开。
    太阳落山后的拉萨还是有点冷的,打车到酒店放下行李出门寻食,要了份藏餐。包括手抓羊肉,牛肉,糌粑,牛肉包子,酸奶啥的。整体很失望,原因就是东西不是现做的,牛肉有点风干了,包子皮也是有点干瘪,草草离场回去睡觉。

    IMG_20211229_213617

    1212
    今天按计划就在拉萨休整。昨晚后半夜开始有点高反头疼,睡不好。
    早上九点天亮以后,吃了早餐准备去布达拉宫溜达。冬季这里是免票的,而且过了藏历新年,很多藏民开始祭拜,因此游客感觉好少。
    五个人凑了个散团300元请导游讲解,全程居然耗时两个钟,这是出乎我意料的。没来过的很值得走一圈,听听故事,虽然没过几分钟你可能就已经忘的差不多了,但听故事的乐趣还是在的……
    布宫出口就对着一个公园,好多鸭子。晒着太阳,喝着甜茶,看着它们如履薄冰的找吃的,一个下午可以这样散漫的过去了。

    IMG20211212122915-02_20211213_082220

    布达拉宫

    IMG20211212124938-01

    补充点信仰

    IMG20211212141648-01

    布宫门前的鸭子

    1213
    经过一晚休息,整体没有太多太多改善,还是有轻微头疼,最讨厌的其实是心率高,导致没有深睡眠,休息质量很差,虽然客房有制氧机,我还是关了,一是避免噪音,二则希望尽快适应。
    吃过早餐,收拾行李提车准备出发一路向南,为了更好的适应,缩短今天的行程,改为在山南市入住,车程2小时。
    山南市的前面顺路有个桑耶镇,里面有座桑耶寺,前往参观。寺庙不多介绍,初次到访,感觉是很本土的寺庙,基本全是信众,汉族游客似乎就见到了两位……
    这个寺庙有个最大的特点是建筑物四角有四座塔,守护桑耶寺,而且他们各自有四双可爱的眼睛。

    IMG20211213132635-01

    桑耶寺

    结束桑耶寺的游览,就在寺庙门口的藏餐馆解决午饭。因为最近朝拜者众,街角的那家异常火爆。进去打探下有啥吃的,直接被老板打发去隔壁饭店,不知道是他们忙不过来还是没打算做汉族生意?
    于是出门左拐找了另一家,点上盖浇饭,再来壶甜茶。刚入坐,四周的食客开始打量我,当然我认为是十分善意的,应该是这里来的汉族游客比较少吧。
    下午在酒店睡了午觉,虽然心率没下来,但是头痛已无。下楼觅食,要了份酸菜乌鱼,店里比较火爆,无奈打包回酒店,开了罐啤酒尝尝,没多喝。
    一夜继续无深睡眠,后半夜又有点头疼,对于明天的行程有点困扰。

    1214
    按照原计划,今天从山南途经措美县,直达色乡,即必行徒步的出发点。早饭结束大约九点启程先去附近的雍布拉康寺庙参观。到的早,没有游客,停好车,徒步往山上走,同行的似乎仅有三位藏族老奶奶。
    虽然已日出,但背阴面依旧寒冷,慢慢悠悠走到山顶,售票处空无一人,不知道是免票还是没上班。倒是卖祈福物品的老奶奶已上班,5元买了份扔进火炉焚烧许愿。
    顺时针转着经筒就可以来到这个迷你寺庙的后山,这里有很多经幡,而且可以攀爬,于是我上去看了看高角度的雍布拉康。

    IMG20211214093903-01

    清晨的雍布拉康。

    结束雍布拉康的参观,下山上个厕所,景区的厕所看起来蛮干净的,而且开着暖气,但居然窗户也大开着……
    从山南前往措美县不远,大概行车两个多小时,一路海拔从3600爬升到4200左右。估计还是必行高反没有彻底适应,外加睡眠不好,到了措美县感觉状态很不好,头疼,再配上刺眼又灼热的高原阳光,走路在县城街道上,人都有些晃悠。钻进一家蒸汽牛肉拉面店要了半份拉面,也着实没啥胃口,草草垫吧几口就回车里休息。

    我开始评估我的身体状态,要么今天不走了,在这里适应休息一天,要么直接返回山南。最后认为这里海拔高,休息也未必能缓解,干脆继续前进,前方的县城海拔比较低。
    很奇怪,一个小时后,似乎状态有所恢复,后半程基本都是盘山路下山。这时来了辆军用运输车给我带路开道,瞬间提升了我的开车兴趣和平均车速。
    于是,在晚上六点,天黑前抵达了今日目的地色乡

    IMG20211214180031-01

    进入色乡前的检查站

    1215
    昨晚感觉是入藏以来睡得相对较好的一天。

    IMG20211215093815-01

    前往处于村的路上,天光已开。

    吃过酒店的早餐,准备驱车前往库拉岗日雪山徒步的起点——处于村。从色乡开车进入都是土路,20分钟可达。目前村子里正在修建新农村,一幢幢崭新的小楼十分夺目。这里同时也在修建景区,猜测将来从村口到山脚的15分钟车程会用环保电瓶车代替。
    库拉岗日徒步简单来说分为左中右三条线,各有特点。我建议走左中两条即可,左边是欣赏库拉岗日峰,中间是欣赏群峰,右侧线路是另一个角度的群峰。三条线路共通特点是都带多个海子可以欣赏。

    大约十点,从起点停车场出发走中间的白玛林错环湖。海拔起点4500,然后最高4700,悠闲步行时间8小时。环湖路建议先走右侧(北面),然后左侧返回,因为早上这样走一来顺光,二则群峰伴你左侧,十分壮观!而返回的南线纯粹是徒步了,有一段要翻过悬崖,相对刺激,而且冬天的下午这里背阴,山风大,可以考虑放弃。

    IMG_20211224_17380198-02

    第一个观景台附近。

    总体来讲,我认为白玛林错只要走到观景台就差不多了,往返两小时结束,第一天早点休息。
    结束了今日白玛林错的游览,整体身体状态良好,但右侧膝盖韧带好像有点受伤……

    额外说个事,今天徒步时,还跟上来一位大姐。她是跟她的大部队走散了,然后跟我走了一天,结果她的队员中午才发现人不见,报警了。领队,司机,武警漫山遍野的找,以为出事掉山沟了。天上无人机不停的飞,我还以为有人打算拍日落呢。
    环湖的南侧返回线路背阴,非常冷,当时我的手掌感觉都快没感觉了。只好跟太阳赛跑尽量让自己呆在日照处,大姐自己体力不大行,但也尽力跟着我们。我当时估算我是可以6点下山的,如果她走不动,我先下去通知她的队友上山接她。
    好消息是后来手机有信号了,报了平安。领队过来给她送上外套和热水,真的把他们给急坏了。
    出门在外,安全第一

    1216
    昨晚返回色乡住在家庭旅馆,在当地被认为条件较好的,带地暖。但枕头实在是太高了,一晚没睡好……小旅馆对我最大的挑战应该是枕头了,这次行李多,没带枕头出来有点后悔。

    IMG20211216091503-01

    早起发现玻璃上挂满了冰花。

    今天按计划去走一圈左线的介久错,这里有更好的角度欣赏库拉岗日峰,整体线路也很简单,就是翻过两个山坡即可。如有兴趣还可以继续前进,走到介久错湖边或对岸山坡上多角度欣赏雪山。更重要的是,这里的湖水颜色奶绿,非常抓眼球。

    IMG20211216130328-01

    库拉岗日深山和介久错。

    今天来这里散步的估计10个人,其中有一组是西部印象俱乐部的,我个人很欣赏他们制作的相关地图,我这次行走线路也基本跟他们类似,领队是一位很精瘦的帅哥,原来第一天在色乡的四川饭店吃饭时,他们就坐在边上了,这两天也多次相遇,边走边聊,他们计划今天住洛扎县,然后去做一个核酸,因为他说回拉萨时有随机检查,建议这里做好。非常感谢他的提醒和建议,于是我也调整行程,取消了泡温泉安排,计划今天也前行到洛扎县休息。

    IMG20211216134531-01

    此处游客还是相当稀少的。

    大约下午两点就下到山脚,驱车前往洛扎县。下山后决定在路边的野温泉泡泡脚,色乡也算是温泉乡,第一天住的就是温泉酒店,每晚8-11点会抽水灌池,住客可以免费泡澡。因为天气寒冷,大晚上的我也没敢去泡,错失良机。但好在路边还有野池子,水温不低,泡脚相当惬意!

    IMG20211216144946-01

    色乡路边野温泉。

    从色乡前往县城不远,一路都是在峡谷里穿行,路况良好。县城海拔3800左右,城区整洁干净,不算是大型县城,商店,医院,加油站等基本都集中于主干道两侧,非常方便。
    到达后,先去医院做核酸,每天下午三点半上班。不必挂号,只需身份证登记后找医生开单子即可,基本没人,非常便捷快速。

    完成了核酸检测,就出发找酒店。咨询了一下医生县城最好的是哪家,正如我前面记录,整个县城是围绕主干道布局的,庄园酒店就在两个路口外的不远处。
    酒店有个很不错的停车场,入住了一间高层客房,朝南。下午的阳光把房间照的异常亮堂。
    休息了一会儿,准备出门找找吃的,网上搜索后,决定去一家藏餐馆吃石锅牦牛,溜了一圈没找到,悻悻的回到酒店,抬头一看,原来就在对面……

    第一次尝试牦牛石锅,价格不菲,配料似乎也非常豪华,除了牦牛肉,还有羊肚菌,人参,香菇,金针菇,番茄,白萝卜和大白菜。
    话说这个牦牛肉是属于比较精瘦的,我认为需要炖煮比较长的时间才会好吃,也不赶时间,开了罐拉萨一路带来的青稞酒,盛出一碗汤,边吃边写微博,删减照片,就这样吃到了八点半,还剩余一半多,实在是没有战力,退下出门去医院拿核酸报告。

    1217
    今天的安排比较机动,整体向北返程拉萨,中途路过海拔5000的蓝冰湖“普莫雍错”,这里有家湖景宾馆,考虑届时的身体状态再决定是否留宿一晚。入住一晚可以让我有很多时间开车绕湖欣赏,更重要的是可以体验海拔5000的星空夜景!

    离开洛扎县城,一路爬山上升,路况依旧良好。大约一个多小时便抵达了湖边的堆村,海拔最高的一个村子。村落比我想象中的要整洁,或者说是出乎意外也不过分。村道由水泥铺就,安静,平整。村屋整齐漂亮,有点像新农村。
    开车来到唯一的一家酒店门口停下,四下张望,无人。小心翼翼的试着推开每一扇房门,紧锁。无奈,把车停到阳光下,坐在车里休息。于是拿出县城出门时买的蛋糕,就着热水打发打发自己的胃。
    忽然,窗外有一位藏族妇女带着一名小娃探头张望,摇下车窗打个招呼。原来她是宾馆的服务员,告诉我们老板去拉萨了。我表达了想看下房间,于是她带我开门上楼。可能是由于前几日一直在4800海拔活动,在这爬楼也没觉着特别不适,气短现象肯定是存在的,还有我的轻度头疼……
    客房相对比较小,提供了电热毯,我见到有空调,但估计温度太低打不起来。考虑了几秒还是决定返回拉萨休息,毕竟进藏后的几天休息都不佳,身体优先吧,这里就等到将来有机会再来欣赏。

    羊卓雍措就在普莫雍错的北面,离开堆村后车辆基本行驶在平原上,羊湖陪伴在左侧,时隐时现,天空依旧蓝的晃眼。

    IMG20211217135330-01

    羊湖一角

    下午的目的地或者说经停地是日托寺,一个位于羊湖东线“中间”小岛上的寺庙。
    驾车听着音乐,偶尔停下来吃吃喝喝,不久就来到了寺庙入口,门口有大爷把门收取门票,20元。进入寺庙还有一段沙石路,前方有辆小车停在路上,有人在路边驻足,莫非有东西看?果不其然,一小群藏原羚羊在这里散步,爱心屁股特别亮眼,他们似乎并不惧怕车辆,但如果你下车靠近便会快速离去。
    日托寺很小,就在一个“半岛”上,今天风异常的大,使得湖面刮起了半米高的大浪,我站在湖边几乎被吹跑……而在半岛另一侧却风平浪静,一群鸳鸯在湖边悠闲的游弋,打发聊赖的午后时光。

    IMG20211217162608-01

    日托寺前的羊湖,波涛汹涌。

    从这里开始继续向北,有一段烂路,距离拉萨100多公里,居然预估耗时3个,那岂不是到市区要晚上啦?
    一路从日托寺按摩搓板了几十公里,x306终于在翻山下坡前出现了铺装路。最终在晚上七点左右到达酒店住下。
    今晚住在香格里拉,这个酒店我是不满意的,停车场几乎没有,所有车辆居然都是停在车行道上,门童是负责聊天的,开门提行李的不存在。客房面积也比较小,导致空调的风扇声音显著。
    本来想在酒店餐厅叫点吃的,看这第一印象,我就放弃了,叫了石锅鸡外卖,好吃!
    区别于石锅牦牛,这里配料相对节省点,没有羊肚菌,人参啥的,但是汤底调的入口很友好,当然,也许是我饿了吧也有可能。

    1218
    一觉醒来六点多,昨晚睡得还可以,于是决定开车去布达拉宫观景公园——南山公园,欣赏布宫日出。
    开车过来大约十分钟路程,七点的拉萨还在沉睡中,本以为公园可能没有开门,结果停好车发现是可以刷脸免费进入公园的!打着手电摸黑上山,抬头一望,北斗七星正在当头,于是拿出手机拍了几张,现在手机技术发展确实很快,多帧合成手持拍摄毫无问题。

    拾阶而上,东边的天空慢慢开始泛白,经过一周的适应,这里爬山并不会令我高反,但气喘还是比较明显的,于是给自己定个目标,20个台阶喘会儿气继续上。
    南山公园一共有三个山包,爬完第二个我觉得高度也足够了,天光也差不多,于是没再继续。这时上来一位男丁,相貌看来约四十岁,微胖,戴着口罩喘着气间歇性爬着上来,原来是晨练的,每天爬三个山包,然后从后山的大路返回,全程100分钟。这运动量感觉很很足够啊!

    南山公园回到酒店不到十点,距离早餐结束还有半小时,于是迅速遁入餐厅,四下寻觅,寻觅甜茶。
    服务员很热情的给我斟上一杯,我下眼一瞅,好家伙颜色都这么淡?入口一品,差,太差了。不满的我直接夺口而出:你们星级酒店做的甜茶居然这么差?女服务员一脸茫然的看着我,缓缓应了我一句:先生,我们的甜茶都是牛奶做的,外面的都是奶粉调的。我真不想回应她,我这两趟入藏,一路都是在各色大小茶馆,民宿喝过来的,你们这属于什么水平心里还是有数的。
    罢,不饮便罢了。转身去打咖啡,桌上放着一罐牛奶。好家伙,原来香格里拉大酒店用的所谓牛奶是雀巢的常温复原奶……
    其他的吃食无功无过吧,整体差评。

    早饭吃的晚,基本把中饭也解决了。于是乎,下午去了趟西藏博物馆,就在马路对面,主要就一个主题:百万农奴解放史。原来布达拉宫门前还有摧残百姓的蝎子洞,原来达赖喇嘛等也是富裕的统治阶级……
    拉萨最后一日的下午就是在布宫周围溜达,整个市区的唯一地标就是布宫,主干道都是围绕着它,路网不发达,于是堵车就成了必然。据司机讲,夏天旺季时,晚上十点还堵车。
    不知不觉,貌似围着布宫走了一圈,天也渐渐暗沉,于是决定做公交车去今晚吃饭的餐厅,要倒两路车。我很喜欢出门坐公交,逛菜场。感觉是很接地气的体验,于是换了纸币,等待上车。
    拉萨的公交只需一元,车上基本都是藏族同胞(废话),其他几乎没啥不同了,除了人群喜欢闯红灯,机动车喜欢走非机动车道这点与省会城市的管理水平不符。
    晚餐是在一家四川老板开的烤肉店,纳金东路这一带感觉是挺热闹的,有好几个酒吧,随处可见的新疆餐厅。
    看图吧,挺好吃的,非常适合多人聚餐。

    IMG_20211229_213507

    路餐合集

    1219
    今天是离开西藏的日子,六点半就下楼吃早餐,七点半准时出发前往机场。天依旧黑着,开车在路上,同行的基本也是跑机场的朋友。十五的圆月尚未落下,似乎是在为我送行,当然或许也是在期待我再次来此相聚。
    返程我选择的是拉萨飞昆明转机,这一路可以欣赏诸多高山,包括喜马拉雅群峰,梅里雪山,玉龙雪山等。

    IMG_20211219_132842-01
    坐在飞机玄舱边,喝着冰可乐,望着远处渐渐淡去的喜马拉雅,我似乎在问自己,为什么会在两个月内造访西藏两次?
    嗯,一定是这可恶的低价机票,不,也许我爱的是能在天上飞翔的感觉。

    IMG20211219121425-01_20211219_134425

    水墨金沙江

    IMG20211219121340-01

    玉龙雪山

    IMG20211216124137-01

    最后再看一眼库拉岗日

    我们有缘再相见。

    ……